| |
| Field |
Type |
Description |
| getByKey |
GetByKeyResponse |
Get all entities associated with a given key |
| |
Response when the client sends the node GetByKeyQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| entities |
EntityID (repeated) |
The list of entities that include this public key in their associated Key list |
| |
the ID for a single entity (account, livehash, file, or smart contract instance)
| Field |
Type |
Description |
| entity |
oneof |
|
| |
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID for the cryptocurrency account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| liveHash |
LiveHash |
A uniquely identifying livehash of an acount |
| |
| Field |
Type |
Description |
| accountId |
AccountID |
The account to which the livehash is attached |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| hash |
bytes |
The SHA-384 hash of a credential or certificate |
| keys |
KeyList |
A list of keys (primitive or threshold), all of which must sign to attach the livehash to an account, and any one of which can later delete it. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
Self Reference
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
Self Reference
|
|
|
|
| duration |
Duration |
The duration for which the livehash will remain valid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
|
| fileID |
FileID |
The file ID of the file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
The smart contract ID that identifies instance |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
|
| getBySolidityID |
GetBySolidityIDResponse |
Get the IDs in the format used in transactions, given the format used in Solidity |
| |
Response when the client sends the node GetBySolidityIDQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| accountID |
AccountID |
The Account ID for the cryptocurrency account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
The file Id for the file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
A smart contract ID for the instance (if this is included, then the associated accountID will also be included) |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
| contractCallLocal |
ContractCallLocalResponse |
Response to call a function of a smart contract instance |
| |
Response when the client sends the node ContractCallLocalQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| functionResult |
ContractFunctionResult |
the value returned by the function (if it completed and didn't fail) |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| contractGetBytecodeResponse |
ContractGetBytecodeResponse |
Get the bytecode for a smart contract instance |
| |
Response when the client sends the node ContractGetBytecodeQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| bytecode |
bytes |
the bytecode |
|
| contractGetInfo |
ContractGetInfoResponse |
Get information about a smart contract instance |
| |
Response when the client sends the node ContractGetInfoQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| contractInfo |
ContractGetInfoResponse.ContractInfo |
the information about this contract instance (a state proof can be generated for this) |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
ID of the contract instance, in the format used in transactions |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| accountID |
AccountID |
ID of the cryptocurrency account owned by the contract instance, in the format used in transactions |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| contractAccountID |
string |
ID of both the contract instance and the cryptocurrency account owned by the contract instance, in the format used by Solidity |
| adminKey |
Key |
the state of the instance and its fields can be modified arbitrarily if this key signs a transaction to modify it. If this is null, then such modifications are not possible, and there is no administrator that can override the normal operation of this smart contract instance. Note that if it is created with no admin keys, then there is no administrator to authorize changing the admin keys, so there can never be any admin keys for that instance. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| expirationTime |
Timestamp |
the current time at which this contract instance (and its account) is set to expire |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| autoRenewPeriod |
Duration |
the expiration time will extend every this many seconds. If there are insufficient funds, then it extends as long as possible. If the account is empty when it expires, then it is deleted. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| storage |
int64 |
number of bytes of storage being used by this instance (which affects the cost to extend the expiration time) |
| memo |
string |
the memo associated with the contract (max 100 bytes) |
| balance |
uint64 |
The current balance, in tinybars |
| deleted |
bool |
Whether the contract has been deleted |
| tokenRelationships |
TokenRelationship (repeated) |
The tokens associated to the contract |
| |
Token's information related to the given Account
| Field |
Type |
Description |
| tokenId |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| symbol |
string |
The Symbol of the token |
| balance |
uint64 |
For token of type FUNGIBLE - the balance that the Account holds in the smallest denomination. For token of type NON_FUNGIBLE - the number of NFTs held by the account |
| kycStatus |
TokenKycStatus |
The KYC status of the account (KycNotApplicable, Granted or Revoked). If the token does not have KYC key, KycNotApplicable is returned |
| |
Possible KYC statuses returned on TokenGetInfoQuery or CryptoGetInfoResponse in TokenRelationship
| Enum Name |
Description |
| KycNotApplicable |
|
| Granted |
|
| Revoked |
|
|
| freezeStatus |
TokenFreezeStatus |
The Freeze status of the account (FreezeNotApplicable, Frozen or Unfrozen). If the token does not have Freeze key, FreezeNotApplicable is returned |
| |
Possible Freeze statuses returned on TokenGetInfoQuery or CryptoGetInfoResponse in TokenRelationship
| Enum Name |
Description |
| FreezeNotApplicable |
|
| Frozen |
|
| Unfrozen |
|
|
| decimals |
uint32 |
The number of decimal places a token is divisible by. Always 0 for tokens of type NON_FUNGIBLE |
|
|
|
| contractGetRecordsResponse |
ContractGetRecordsResponse |
Get all existing records for a smart contract instance |
| |
Before v0.9.0, returned records of all transactions against the given contract in the last 25 hours.
| Field |
Type |
Description |
| option |
deprecated=true |
|
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| contractID |
ContractID |
The smart contract instance that this record is for |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| records |
TransactionRecord (repeated) |
List of records, each with contractCreateResult or contractCallResult as its body |
| |
| Field |
Type |
Description |
| receipt |
TransactionReceipt |
The status (reach consensus, or failed, or is unknown) and the ID of any new account/file/instance created. |
| |
| Field |
Type |
Description |
| status |
ResponseCodeEnum |
The consensus status of the transaction; is UNKNOWN if consensus has not been reached, or if the associated transaction did not have a valid payer signature |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| accountID |
AccountID |
In the receipt of a CryptoCreate, the id of the newly created account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
In the receipt of a FileCreate, the id of the newly created file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
In the receipt of a ContractCreate, the id of the newly created contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| exchangeRate |
ExchangeRateSet |
The exchange rates in effect when the transaction reached consensus |
| |
Two sets of exchange rates
| Field |
Type |
Description |
| currentRate |
ExchangeRate |
Current exchange rate |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| nextRate |
ExchangeRate |
Next exchange rate which will take effect when current rate expires |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
|
| topicID |
TopicID |
In the receipt of a ConsensusCreateTopic, the id of the newly created topic. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicSequenceNumber |
uint64 |
In the receipt of a ConsensusSubmitMessage, the new sequence number of the topic that received the message |
| topicRunningHash |
bytes |
In the receipt of a ConsensusSubmitMessage, the new running hash of the topic that received the message. This 48-byte field is the output of a particular SHA-384 digest whose input data are determined by the value of the topicRunningHashVersion below. The bytes of each uint64 or uint32 are to be in Big-Endian format.
IF the topicRunningHashVersion is '0' or '1', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topic's shard (8 bytes) 3. The topic's realm (8 bytes) 4. The topic's number (8 bytes) 5. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 6. The number of nanoseconds since 5. before the ConsensusSubmitMessage reached consensus (4 bytes) 7. The topicSequenceNumber from above (8 bytes) 8. The message bytes from the ConsensusSubmitMessage (variable).
IF the topicRunningHashVersion is '2', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The topic's shard (8 bytes) 4. The topic's realm (8 bytes) 5. The topic's number (8 bytes) 6. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 7. The number of nanoseconds since 6. before the ConsensusSubmitMessage reached consensus (4 bytes) 8. The topicSequenceNumber from above (8 bytes) 9. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes)
Otherwise, IF the topicRunningHashVersion is '3', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The payer account's shard (8 bytes) 4. The payer account's realm (8 bytes) 5. The payer account's number (8 bytes) 6. The topic's shard (8 bytes) 7. The topic's realm (8 bytes) 8. The topic's number (8 bytes) 9. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 10. The number of nanoseconds since 9. before the ConsensusSubmitMessage reached consensus (4 bytes) 11. The topicSequenceNumber from above (8 bytes) 12. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes) |
| topicRunningHashVersion |
uint64 |
In the receipt of a ConsensusSubmitMessage, the version of the SHA-384 digest used to update the running hash. |
| tokenID |
TokenID |
In the receipt of a CreateToken, the id of the newly created token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| newTotalSupply |
uint64 |
In the receipt of TokenMint, TokenWipe, TokenBurn, the current total supply of this token |
| scheduleID |
ScheduleID |
In the receipt of a ScheduleCreate, the id of the newly created Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| scheduledTransactionID |
TransactionID |
In the receipt of a ScheduleCreate or ScheduleSign that resolves to SUCCESS, the TransactionID that should be used to query for the receipt or record of the relevant scheduled transaction |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| serialNumber |
uint64 |
In the receipt of a TokenMintTransactionBody, the serial number of the newly created NFT |
|
| transactionHash |
bytes |
The hash of the Transaction that executed (not the hash of any Transaction that failed for having a duplicate TransactionID) |
| consensusTimestamp |
Timestamp |
The consensus timestamp (or null if didn't reach consensus yet) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| transactionID |
TransactionID |
The ID of the transaction this record represents |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| memo |
string |
The memo that was submitted as part of the transaction (max 100 bytes) |
| transactionFee |
uint64 |
The actual transaction fee charged, not the original transactionFee value from TransactionBody |
| body |
oneof |
|
| |
| Field |
Type |
Description |
| contractCallResult |
ContractFunctionResult |
Record of the value returned by the smart contract function (if it completed and didn't fail) from ContractCallTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
| contractCreateResult |
ContractFunctionResult |
Record of the value returned by the smart contract constructor (if it completed and didn't fail) from ContractCreateTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| transferList |
TransferList |
All hbar transfers as a result of this transaction, such as fees, or transfers performed by the transaction, or by a smart contract it calls, or by the creation of threshold records that it triggers. |
| |
A list of accounts and amounts to transfer out of each account (negative) or into it (positive).
| Field |
Type |
Description |
| accountAmounts |
AccountAmount (repeated) |
Multiple list of AccountAmount pairs, each of which has an account and an amount to transfer into it (positive) or out of it (negative) |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
|
| tokenTransferLists |
TokenTransferList (repeated) |
All Token transfers as a result of this transaction |
| |
A list of token IDs and amounts representing the transferred out (negative) or into (positive) amounts, represented in the lowest denomination of the token
| Field |
Type |
Description |
| token |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| transfers |
AccountAmount (repeated) |
Applicable to tokens of type FUNGIBLE. Multiple list of AccountAmounts, each of which has an account and amount |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
| nftTransfers |
NftTransfer (repeated) |
Applicable to tokens of type NON_FUNGIBLE |
| |
| Field |
Type |
Description |
| fromAccount |
AccountID |
Sending account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| toAccount |
AccountID |
Receiving account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| serialNo |
uint64 |
Serial number that is being transferred |
|
|
| scheduleRef |
ScheduleID |
Reference to the scheduled transaction ID that this transaction record represent |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
|
|
| cryptogetAccountBalance |
CryptoGetAccountBalanceResponse |
Get the current balance in a cryptocurrency account |
| |
Response when the client sends the node CryptoGetAccountBalanceQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither. |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| accountID |
AccountID |
The account ID that is being described (this is useful with state proofs, for proving to a third party) |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| balance |
uint64 |
The current balance, in tinybars. |
| tokenBalances |
TokenBalance (repeated) |
The token balances possessed by the target account. |
| |
A number of transferable units of a certain token.
| Field |
Type |
Description |
| tokenId |
TokenID |
A unique token id |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| balance |
uint64 |
A number of transferable units of the identified token |
| decimals |
uint32 |
Tokens divide into 10decimals pieces |
|
|
| cryptoGetAccountRecords |
CryptoGetAccountRecordsResponse |
Get all the records that currently exist for transactions involving an account |
| |
Returns records of all transactions for which the given account was the effective payer in the last 3 minutes of consensus time and ledger.keepRecordsInState=true was true during handleTransaction.
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| accountID |
AccountID |
The account that this record is for |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| records |
TransactionRecord (repeated) |
List of records |
| |
| Field |
Type |
Description |
| receipt |
TransactionReceipt |
The status (reach consensus, or failed, or is unknown) and the ID of any new account/file/instance created. |
| |
| Field |
Type |
Description |
| status |
ResponseCodeEnum |
The consensus status of the transaction; is UNKNOWN if consensus has not been reached, or if the associated transaction did not have a valid payer signature |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| accountID |
AccountID |
In the receipt of a CryptoCreate, the id of the newly created account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
In the receipt of a FileCreate, the id of the newly created file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
In the receipt of a ContractCreate, the id of the newly created contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| exchangeRate |
ExchangeRateSet |
The exchange rates in effect when the transaction reached consensus |
| |
Two sets of exchange rates
| Field |
Type |
Description |
| currentRate |
ExchangeRate |
Current exchange rate |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| nextRate |
ExchangeRate |
Next exchange rate which will take effect when current rate expires |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
|
| topicID |
TopicID |
In the receipt of a ConsensusCreateTopic, the id of the newly created topic. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicSequenceNumber |
uint64 |
In the receipt of a ConsensusSubmitMessage, the new sequence number of the topic that received the message |
| topicRunningHash |
bytes |
In the receipt of a ConsensusSubmitMessage, the new running hash of the topic that received the message. This 48-byte field is the output of a particular SHA-384 digest whose input data are determined by the value of the topicRunningHashVersion below. The bytes of each uint64 or uint32 are to be in Big-Endian format.
IF the topicRunningHashVersion is '0' or '1', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topic's shard (8 bytes) 3. The topic's realm (8 bytes) 4. The topic's number (8 bytes) 5. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 6. The number of nanoseconds since 5. before the ConsensusSubmitMessage reached consensus (4 bytes) 7. The topicSequenceNumber from above (8 bytes) 8. The message bytes from the ConsensusSubmitMessage (variable).
IF the topicRunningHashVersion is '2', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The topic's shard (8 bytes) 4. The topic's realm (8 bytes) 5. The topic's number (8 bytes) 6. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 7. The number of nanoseconds since 6. before the ConsensusSubmitMessage reached consensus (4 bytes) 8. The topicSequenceNumber from above (8 bytes) 9. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes)
Otherwise, IF the topicRunningHashVersion is '3', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The payer account's shard (8 bytes) 4. The payer account's realm (8 bytes) 5. The payer account's number (8 bytes) 6. The topic's shard (8 bytes) 7. The topic's realm (8 bytes) 8. The topic's number (8 bytes) 9. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 10. The number of nanoseconds since 9. before the ConsensusSubmitMessage reached consensus (4 bytes) 11. The topicSequenceNumber from above (8 bytes) 12. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes) |
| topicRunningHashVersion |
uint64 |
In the receipt of a ConsensusSubmitMessage, the version of the SHA-384 digest used to update the running hash. |
| tokenID |
TokenID |
In the receipt of a CreateToken, the id of the newly created token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| newTotalSupply |
uint64 |
In the receipt of TokenMint, TokenWipe, TokenBurn, the current total supply of this token |
| scheduleID |
ScheduleID |
In the receipt of a ScheduleCreate, the id of the newly created Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| scheduledTransactionID |
TransactionID |
In the receipt of a ScheduleCreate or ScheduleSign that resolves to SUCCESS, the TransactionID that should be used to query for the receipt or record of the relevant scheduled transaction |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| serialNumber |
uint64 |
In the receipt of a TokenMintTransactionBody, the serial number of the newly created NFT |
|
| transactionHash |
bytes |
The hash of the Transaction that executed (not the hash of any Transaction that failed for having a duplicate TransactionID) |
| consensusTimestamp |
Timestamp |
The consensus timestamp (or null if didn't reach consensus yet) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| transactionID |
TransactionID |
The ID of the transaction this record represents |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| memo |
string |
The memo that was submitted as part of the transaction (max 100 bytes) |
| transactionFee |
uint64 |
The actual transaction fee charged, not the original transactionFee value from TransactionBody |
| body |
oneof |
|
| |
| Field |
Type |
Description |
| contractCallResult |
ContractFunctionResult |
Record of the value returned by the smart contract function (if it completed and didn't fail) from ContractCallTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
| contractCreateResult |
ContractFunctionResult |
Record of the value returned by the smart contract constructor (if it completed and didn't fail) from ContractCreateTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| transferList |
TransferList |
All hbar transfers as a result of this transaction, such as fees, or transfers performed by the transaction, or by a smart contract it calls, or by the creation of threshold records that it triggers. |
| |
A list of accounts and amounts to transfer out of each account (negative) or into it (positive).
| Field |
Type |
Description |
| accountAmounts |
AccountAmount (repeated) |
Multiple list of AccountAmount pairs, each of which has an account and an amount to transfer into it (positive) or out of it (negative) |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
|
| tokenTransferLists |
TokenTransferList (repeated) |
All Token transfers as a result of this transaction |
| |
A list of token IDs and amounts representing the transferred out (negative) or into (positive) amounts, represented in the lowest denomination of the token
| Field |
Type |
Description |
| token |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| transfers |
AccountAmount (repeated) |
Applicable to tokens of type FUNGIBLE. Multiple list of AccountAmounts, each of which has an account and amount |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
| nftTransfers |
NftTransfer (repeated) |
Applicable to tokens of type NON_FUNGIBLE |
| |
| Field |
Type |
Description |
| fromAccount |
AccountID |
Sending account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| toAccount |
AccountID |
Receiving account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| serialNo |
uint64 |
Serial number that is being transferred |
|
|
| scheduleRef |
ScheduleID |
Reference to the scheduled transaction ID that this transaction record represent |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
|
|
| cryptoGetInfo |
CryptoGetInfoResponse |
Get all information about an account |
| |
Response when the client sends the node CryptoGetInfoQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| accountInfo |
CryptoGetInfoResponse.AccountInfo |
Info about the account (a state proof can be generated for this) |
| |
| Field |
Type |
Description |
| accountID |
AccountID |
The account ID for which this information applies |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| contractAccountID |
string |
The Contract Account ID comprising of both the contract instance and the cryptocurrency account owned by the contract instance, in the format used by Solidity |
| deleted |
bool |
If true, then this account has been deleted, it will disappear when it expires, and all transactions for it will fail except the transaction to extend its expiration date |
| proxyAccountID |
AccountID |
The Account ID of the account to which this is proxy staked. If proxyAccountID is null, or is an invalid account, or is an account that isn't a node, then this account is automatically proxy staked to a node chosen by the network, but without earning payments. If the proxyAccountID account refuses to accept proxy staking , or if it is not currently running a node, then it will behave as if proxyAccountID was null. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| proxyReceived |
int64 |
The total number of tinybars proxy staked to this account |
| key |
Key |
The key for the account, which must sign in order to transfer out, or to modify the account in any way other than extending its expiration date. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| balance |
uint64 |
The current balance of account in tinybars |
| generateSendRecordThreshold |
uint64 |
[Deprecated]. The threshold amount, in tinybars, at which a record is created of any transaction that decreases the balance of this account by more than the threshold |
| generateReceiveRecordThreshold |
uint64 |
[Deprecated]. The threshold amount, in tinybars, at which a record is created of any transaction that increases the balance of this account by more than the threshold |
| receiverSigRequired |
bool |
If true, no transaction can transfer to this account unless signed by this account's key |
| expirationTime |
Timestamp |
The TimeStamp time at which this account is set to expire |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| autoRenewPeriod |
Duration |
The duration for expiration time will extend every this many seconds. If there are insufficient funds, then it extends as long as possible. If it is empty when it expires, then it is deleted. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| liveHashes |
LiveHash (repeated) |
All of the livehashes attached to the account (each of which is a hash along with the keys that authorized it and can delete it) |
| |
| Field |
Type |
Description |
| accountId |
AccountID |
The account to which the livehash is attached |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| hash |
bytes |
The SHA-384 hash of a credential or certificate |
| keys |
KeyList |
A list of keys (primitive or threshold), all of which must sign to attach the livehash to an account, and any one of which can later delete it. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
Self Reference
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
Self Reference
|
|
|
|
| duration |
Duration |
The duration for which the livehash will remain valid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
|
| tokenRelationships |
TokenRelationship (repeated) |
All tokens related to this account |
| |
Token's information related to the given Account
| Field |
Type |
Description |
| tokenId |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| symbol |
string |
The Symbol of the token |
| balance |
uint64 |
For token of type FUNGIBLE - the balance that the Account holds in the smallest denomination. For token of type NON_FUNGIBLE - the number of NFTs held by the account |
| kycStatus |
TokenKycStatus |
The KYC status of the account (KycNotApplicable, Granted or Revoked). If the token does not have KYC key, KycNotApplicable is returned |
| |
Possible KYC statuses returned on TokenGetInfoQuery or CryptoGetInfoResponse in TokenRelationship
| Enum Name |
Description |
| KycNotApplicable |
|
| Granted |
|
| Revoked |
|
|
| freezeStatus |
TokenFreezeStatus |
The Freeze status of the account (FreezeNotApplicable, Frozen or Unfrozen). If the token does not have Freeze key, FreezeNotApplicable is returned |
| |
Possible Freeze statuses returned on TokenGetInfoQuery or CryptoGetInfoResponse in TokenRelationship
| Enum Name |
Description |
| FreezeNotApplicable |
|
| Frozen |
|
| Unfrozen |
|
|
| decimals |
uint32 |
The number of decimal places a token is divisible by. Always 0 for tokens of type NON_FUNGIBLE |
|
| memo |
string |
The memo associated with the account |
| ownedNFTs |
uint64 |
The number of NFTs that are owned by this account |
|
|
| cryptoGetLiveHash |
CryptoGetLiveHashResponse |
Contains a livehash associated to an account |
| |
Returns the full livehash associated to an account, if it is present. Note that the only way to obtain a state proof exhibiting the absence of a livehash from an account is to retrieve a state proof of the entire account with its list of livehashes.
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| liveHash |
LiveHash |
The livehash, if present |
| |
| Field |
Type |
Description |
| accountId |
AccountID |
The account to which the livehash is attached |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| hash |
bytes |
The SHA-384 hash of a credential or certificate |
| keys |
KeyList |
A list of keys (primitive or threshold), all of which must sign to attach the livehash to an account, and any one of which can later delete it. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
Self Reference
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
Self Reference
|
|
|
|
| duration |
Duration |
The duration for which the livehash will remain valid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
|
|
| cryptoGetProxyStakers |
CryptoGetStakersResponse |
Get all the accounts that proxy stake to a given account, and how much they proxy stake |
| |
Response when the client sends the node CryptoGetStakersQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| stakers |
AllProxyStakers |
List of accounts proxy staking to this account, and the amount each is currently proxy staking |
| |
all of the accounts proxy staking to a given account, and the amounts proxy staked
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that is being proxy staked to |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| proxyStaker |
ProxyStaker (repeated) |
Each of the proxy staking accounts, and the amount they are proxy staking |
| |
information about a single account that is proxy staking
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that is proxy staking |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
int64 |
The number of hbars that are currently proxy staked |
|
|
|
| fileGetContents |
FileGetContentsResponse |
Get the contents of a file (the bytes stored in it) |
| |
Response when the client sends the node FileGetContentsQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| fileContents |
FileGetContentsResponse.FileContents |
the file ID and contents (a state proof can be generated for this) |
| |
| Field |
Type |
Description |
| fileID |
FileID |
The file ID of the file whose contents are being returned |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contents |
bytes |
The bytes contained in the file |
|
|
| fileGetInfo |
FileGetInfoResponse |
Get information about a file, such as its expiration date |
| |
Response when the client sends the node FileGetInfoQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| fileInfo |
FileGetInfoResponse.FileInfo |
The information about the file |
| |
| Field |
Type |
Description |
| fileID |
FileID |
The file ID of the file for which information is requested |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| size |
int64 |
Number of bytes in contents |
| expirationTime |
Timestamp |
The current time at which this account is set to expire |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| deleted |
bool |
True if deleted but not yet expired |
| keys |
KeyList |
One of these keys must sign in order to modify or delete the file |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
Self Reference
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
Self Reference
|
|
|
|
| memo |
string |
The memo associated with the file |
|
|
| transactionGetReceipt |
TransactionGetReceiptResponse |
Get a receipt for a transaction |
| |
Response when the client sends the node TransactionGetReceiptQuery. If it created a new entity (account, file, or smart contract instance) then one of the three ID fields will be filled in with the ID of the new entity. Sometimes a single transaction will create more than one new entity, such as when a new contract instance is created, and this also creates the new account that it owned by that instance. No State proof is available for this response
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| receipt |
TransactionReceipt |
Either the receipt of processing the first consensus transaction with the given id whose status was neither INVALID_NODE_ACCOUNT nor INVALID_PAYER_SIGNATURE; or, if no such receipt exists, the receipt of processing the first transaction to reach consensus with the given transaction id. |
| |
| Field |
Type |
Description |
| status |
ResponseCodeEnum |
The consensus status of the transaction; is UNKNOWN if consensus has not been reached, or if the associated transaction did not have a valid payer signature |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| accountID |
AccountID |
In the receipt of a CryptoCreate, the id of the newly created account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
In the receipt of a FileCreate, the id of the newly created file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
In the receipt of a ContractCreate, the id of the newly created contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| exchangeRate |
ExchangeRateSet |
The exchange rates in effect when the transaction reached consensus |
| |
Two sets of exchange rates
| Field |
Type |
Description |
| currentRate |
ExchangeRate |
Current exchange rate |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| nextRate |
ExchangeRate |
Next exchange rate which will take effect when current rate expires |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
|
| topicID |
TopicID |
In the receipt of a ConsensusCreateTopic, the id of the newly created topic. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicSequenceNumber |
uint64 |
In the receipt of a ConsensusSubmitMessage, the new sequence number of the topic that received the message |
| topicRunningHash |
bytes |
In the receipt of a ConsensusSubmitMessage, the new running hash of the topic that received the message. This 48-byte field is the output of a particular SHA-384 digest whose input data are determined by the value of the topicRunningHashVersion below. The bytes of each uint64 or uint32 are to be in Big-Endian format.
IF the topicRunningHashVersion is '0' or '1', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topic's shard (8 bytes) 3. The topic's realm (8 bytes) 4. The topic's number (8 bytes) 5. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 6. The number of nanoseconds since 5. before the ConsensusSubmitMessage reached consensus (4 bytes) 7. The topicSequenceNumber from above (8 bytes) 8. The message bytes from the ConsensusSubmitMessage (variable).
IF the topicRunningHashVersion is '2', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The topic's shard (8 bytes) 4. The topic's realm (8 bytes) 5. The topic's number (8 bytes) 6. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 7. The number of nanoseconds since 6. before the ConsensusSubmitMessage reached consensus (4 bytes) 8. The topicSequenceNumber from above (8 bytes) 9. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes)
Otherwise, IF the topicRunningHashVersion is '3', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The payer account's shard (8 bytes) 4. The payer account's realm (8 bytes) 5. The payer account's number (8 bytes) 6. The topic's shard (8 bytes) 7. The topic's realm (8 bytes) 8. The topic's number (8 bytes) 9. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 10. The number of nanoseconds since 9. before the ConsensusSubmitMessage reached consensus (4 bytes) 11. The topicSequenceNumber from above (8 bytes) 12. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes) |
| topicRunningHashVersion |
uint64 |
In the receipt of a ConsensusSubmitMessage, the version of the SHA-384 digest used to update the running hash. |
| tokenID |
TokenID |
In the receipt of a CreateToken, the id of the newly created token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| newTotalSupply |
uint64 |
In the receipt of TokenMint, TokenWipe, TokenBurn, the current total supply of this token |
| scheduleID |
ScheduleID |
In the receipt of a ScheduleCreate, the id of the newly created Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| scheduledTransactionID |
TransactionID |
In the receipt of a ScheduleCreate or ScheduleSign that resolves to SUCCESS, the TransactionID that should be used to query for the receipt or record of the relevant scheduled transaction |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| serialNumber |
uint64 |
In the receipt of a TokenMintTransactionBody, the serial number of the newly created NFT |
|
| duplicateTransactionReceipts |
TransactionReceipt (repeated) |
The receipts of processing all consensus transaction with the same id as the distinguished receipt above, in chronological order. |
| |
| Field |
Type |
Description |
| status |
ResponseCodeEnum |
The consensus status of the transaction; is UNKNOWN if consensus has not been reached, or if the associated transaction did not have a valid payer signature |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| accountID |
AccountID |
In the receipt of a CryptoCreate, the id of the newly created account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
In the receipt of a FileCreate, the id of the newly created file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
In the receipt of a ContractCreate, the id of the newly created contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| exchangeRate |
ExchangeRateSet |
The exchange rates in effect when the transaction reached consensus |
| |
Two sets of exchange rates
| Field |
Type |
Description |
| currentRate |
ExchangeRate |
Current exchange rate |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| nextRate |
ExchangeRate |
Next exchange rate which will take effect when current rate expires |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
|
| topicID |
TopicID |
In the receipt of a ConsensusCreateTopic, the id of the newly created topic. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicSequenceNumber |
uint64 |
In the receipt of a ConsensusSubmitMessage, the new sequence number of the topic that received the message |
| topicRunningHash |
bytes |
In the receipt of a ConsensusSubmitMessage, the new running hash of the topic that received the message. This 48-byte field is the output of a particular SHA-384 digest whose input data are determined by the value of the topicRunningHashVersion below. The bytes of each uint64 or uint32 are to be in Big-Endian format.
IF the topicRunningHashVersion is '0' or '1', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topic's shard (8 bytes) 3. The topic's realm (8 bytes) 4. The topic's number (8 bytes) 5. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 6. The number of nanoseconds since 5. before the ConsensusSubmitMessage reached consensus (4 bytes) 7. The topicSequenceNumber from above (8 bytes) 8. The message bytes from the ConsensusSubmitMessage (variable).
IF the topicRunningHashVersion is '2', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The topic's shard (8 bytes) 4. The topic's realm (8 bytes) 5. The topic's number (8 bytes) 6. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 7. The number of nanoseconds since 6. before the ConsensusSubmitMessage reached consensus (4 bytes) 8. The topicSequenceNumber from above (8 bytes) 9. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes)
Otherwise, IF the topicRunningHashVersion is '3', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The payer account's shard (8 bytes) 4. The payer account's realm (8 bytes) 5. The payer account's number (8 bytes) 6. The topic's shard (8 bytes) 7. The topic's realm (8 bytes) 8. The topic's number (8 bytes) 9. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 10. The number of nanoseconds since 9. before the ConsensusSubmitMessage reached consensus (4 bytes) 11. The topicSequenceNumber from above (8 bytes) 12. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes) |
| topicRunningHashVersion |
uint64 |
In the receipt of a ConsensusSubmitMessage, the version of the SHA-384 digest used to update the running hash. |
| tokenID |
TokenID |
In the receipt of a CreateToken, the id of the newly created token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| newTotalSupply |
uint64 |
In the receipt of TokenMint, TokenWipe, TokenBurn, the current total supply of this token |
| scheduleID |
ScheduleID |
In the receipt of a ScheduleCreate, the id of the newly created Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| scheduledTransactionID |
TransactionID |
In the receipt of a ScheduleCreate or ScheduleSign that resolves to SUCCESS, the TransactionID that should be used to query for the receipt or record of the relevant scheduled transaction |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| serialNumber |
uint64 |
In the receipt of a TokenMintTransactionBody, the serial number of the newly created NFT |
|
|
| transactionGetRecord |
TransactionGetRecordResponse |
Get a record for a transaction |
| |
Response when the client sends the node TransactionGetRecordQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither. |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| transactionRecord |
TransactionRecord |
Either the record of processing the first consensus transaction with the given id whose status was neither INVALID_NODE_ACCOUNT nor INVALID_PAYER_SIGNATURE; or, if no such record exists, the record of processing the first transaction to reach consensus with the given transaction id. |
| |
| Field |
Type |
Description |
| receipt |
TransactionReceipt |
The status (reach consensus, or failed, or is unknown) and the ID of any new account/file/instance created. |
| |
| Field |
Type |
Description |
| status |
ResponseCodeEnum |
The consensus status of the transaction; is UNKNOWN if consensus has not been reached, or if the associated transaction did not have a valid payer signature |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| accountID |
AccountID |
In the receipt of a CryptoCreate, the id of the newly created account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
In the receipt of a FileCreate, the id of the newly created file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
In the receipt of a ContractCreate, the id of the newly created contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| exchangeRate |
ExchangeRateSet |
The exchange rates in effect when the transaction reached consensus |
| |
Two sets of exchange rates
| Field |
Type |
Description |
| currentRate |
ExchangeRate |
Current exchange rate |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| nextRate |
ExchangeRate |
Next exchange rate which will take effect when current rate expires |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
|
| topicID |
TopicID |
In the receipt of a ConsensusCreateTopic, the id of the newly created topic. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicSequenceNumber |
uint64 |
In the receipt of a ConsensusSubmitMessage, the new sequence number of the topic that received the message |
| topicRunningHash |
bytes |
In the receipt of a ConsensusSubmitMessage, the new running hash of the topic that received the message. This 48-byte field is the output of a particular SHA-384 digest whose input data are determined by the value of the topicRunningHashVersion below. The bytes of each uint64 or uint32 are to be in Big-Endian format.
IF the topicRunningHashVersion is '0' or '1', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topic's shard (8 bytes) 3. The topic's realm (8 bytes) 4. The topic's number (8 bytes) 5. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 6. The number of nanoseconds since 5. before the ConsensusSubmitMessage reached consensus (4 bytes) 7. The topicSequenceNumber from above (8 bytes) 8. The message bytes from the ConsensusSubmitMessage (variable).
IF the topicRunningHashVersion is '2', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The topic's shard (8 bytes) 4. The topic's realm (8 bytes) 5. The topic's number (8 bytes) 6. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 7. The number of nanoseconds since 6. before the ConsensusSubmitMessage reached consensus (4 bytes) 8. The topicSequenceNumber from above (8 bytes) 9. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes)
Otherwise, IF the topicRunningHashVersion is '3', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The payer account's shard (8 bytes) 4. The payer account's realm (8 bytes) 5. The payer account's number (8 bytes) 6. The topic's shard (8 bytes) 7. The topic's realm (8 bytes) 8. The topic's number (8 bytes) 9. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 10. The number of nanoseconds since 9. before the ConsensusSubmitMessage reached consensus (4 bytes) 11. The topicSequenceNumber from above (8 bytes) 12. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes) |
| topicRunningHashVersion |
uint64 |
In the receipt of a ConsensusSubmitMessage, the version of the SHA-384 digest used to update the running hash. |
| tokenID |
TokenID |
In the receipt of a CreateToken, the id of the newly created token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| newTotalSupply |
uint64 |
In the receipt of TokenMint, TokenWipe, TokenBurn, the current total supply of this token |
| scheduleID |
ScheduleID |
In the receipt of a ScheduleCreate, the id of the newly created Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| scheduledTransactionID |
TransactionID |
In the receipt of a ScheduleCreate or ScheduleSign that resolves to SUCCESS, the TransactionID that should be used to query for the receipt or record of the relevant scheduled transaction |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| serialNumber |
uint64 |
In the receipt of a TokenMintTransactionBody, the serial number of the newly created NFT |
|
| transactionHash |
bytes |
The hash of the Transaction that executed (not the hash of any Transaction that failed for having a duplicate TransactionID) |
| consensusTimestamp |
Timestamp |
The consensus timestamp (or null if didn't reach consensus yet) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| transactionID |
TransactionID |
The ID of the transaction this record represents |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| memo |
string |
The memo that was submitted as part of the transaction (max 100 bytes) |
| transactionFee |
uint64 |
The actual transaction fee charged, not the original transactionFee value from TransactionBody |
| body |
oneof |
|
| |
| Field |
Type |
Description |
| contractCallResult |
ContractFunctionResult |
Record of the value returned by the smart contract function (if it completed and didn't fail) from ContractCallTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
| contractCreateResult |
ContractFunctionResult |
Record of the value returned by the smart contract constructor (if it completed and didn't fail) from ContractCreateTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| transferList |
TransferList |
All hbar transfers as a result of this transaction, such as fees, or transfers performed by the transaction, or by a smart contract it calls, or by the creation of threshold records that it triggers. |
| |
A list of accounts and amounts to transfer out of each account (negative) or into it (positive).
| Field |
Type |
Description |
| accountAmounts |
AccountAmount (repeated) |
Multiple list of AccountAmount pairs, each of which has an account and an amount to transfer into it (positive) or out of it (negative) |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
|
| tokenTransferLists |
TokenTransferList (repeated) |
All Token transfers as a result of this transaction |
| |
A list of token IDs and amounts representing the transferred out (negative) or into (positive) amounts, represented in the lowest denomination of the token
| Field |
Type |
Description |
| token |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| transfers |
AccountAmount (repeated) |
Applicable to tokens of type FUNGIBLE. Multiple list of AccountAmounts, each of which has an account and amount |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
| nftTransfers |
NftTransfer (repeated) |
Applicable to tokens of type NON_FUNGIBLE |
| |
| Field |
Type |
Description |
| fromAccount |
AccountID |
Sending account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| toAccount |
AccountID |
Receiving account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| serialNo |
uint64 |
Serial number that is being transferred |
|
|
| scheduleRef |
ScheduleID |
Reference to the scheduled transaction ID that this transaction record represent |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
|
| duplicateTransactionRecords |
TransactionRecord (repeated) |
The records of processing all consensus transaction with the same id as the distinguished record above, in chronological order. |
| |
| Field |
Type |
Description |
| receipt |
TransactionReceipt |
The status (reach consensus, or failed, or is unknown) and the ID of any new account/file/instance created. |
| |
| Field |
Type |
Description |
| status |
ResponseCodeEnum |
The consensus status of the transaction; is UNKNOWN if consensus has not been reached, or if the associated transaction did not have a valid payer signature |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| accountID |
AccountID |
In the receipt of a CryptoCreate, the id of the newly created account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
In the receipt of a FileCreate, the id of the newly created file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
In the receipt of a ContractCreate, the id of the newly created contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| exchangeRate |
ExchangeRateSet |
The exchange rates in effect when the transaction reached consensus |
| |
Two sets of exchange rates
| Field |
Type |
Description |
| currentRate |
ExchangeRate |
Current exchange rate |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| nextRate |
ExchangeRate |
Next exchange rate which will take effect when current rate expires |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
|
| topicID |
TopicID |
In the receipt of a ConsensusCreateTopic, the id of the newly created topic. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicSequenceNumber |
uint64 |
In the receipt of a ConsensusSubmitMessage, the new sequence number of the topic that received the message |
| topicRunningHash |
bytes |
In the receipt of a ConsensusSubmitMessage, the new running hash of the topic that received the message. This 48-byte field is the output of a particular SHA-384 digest whose input data are determined by the value of the topicRunningHashVersion below. The bytes of each uint64 or uint32 are to be in Big-Endian format.
IF the topicRunningHashVersion is '0' or '1', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topic's shard (8 bytes) 3. The topic's realm (8 bytes) 4. The topic's number (8 bytes) 5. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 6. The number of nanoseconds since 5. before the ConsensusSubmitMessage reached consensus (4 bytes) 7. The topicSequenceNumber from above (8 bytes) 8. The message bytes from the ConsensusSubmitMessage (variable).
IF the topicRunningHashVersion is '2', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The topic's shard (8 bytes) 4. The topic's realm (8 bytes) 5. The topic's number (8 bytes) 6. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 7. The number of nanoseconds since 6. before the ConsensusSubmitMessage reached consensus (4 bytes) 8. The topicSequenceNumber from above (8 bytes) 9. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes)
Otherwise, IF the topicRunningHashVersion is '3', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The payer account's shard (8 bytes) 4. The payer account's realm (8 bytes) 5. The payer account's number (8 bytes) 6. The topic's shard (8 bytes) 7. The topic's realm (8 bytes) 8. The topic's number (8 bytes) 9. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 10. The number of nanoseconds since 9. before the ConsensusSubmitMessage reached consensus (4 bytes) 11. The topicSequenceNumber from above (8 bytes) 12. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes) |
| topicRunningHashVersion |
uint64 |
In the receipt of a ConsensusSubmitMessage, the version of the SHA-384 digest used to update the running hash. |
| tokenID |
TokenID |
In the receipt of a CreateToken, the id of the newly created token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| newTotalSupply |
uint64 |
In the receipt of TokenMint, TokenWipe, TokenBurn, the current total supply of this token |
| scheduleID |
ScheduleID |
In the receipt of a ScheduleCreate, the id of the newly created Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| scheduledTransactionID |
TransactionID |
In the receipt of a ScheduleCreate or ScheduleSign that resolves to SUCCESS, the TransactionID that should be used to query for the receipt or record of the relevant scheduled transaction |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| serialNumber |
uint64 |
In the receipt of a TokenMintTransactionBody, the serial number of the newly created NFT |
|
| transactionHash |
bytes |
The hash of the Transaction that executed (not the hash of any Transaction that failed for having a duplicate TransactionID) |
| consensusTimestamp |
Timestamp |
The consensus timestamp (or null if didn't reach consensus yet) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| transactionID |
TransactionID |
The ID of the transaction this record represents |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| memo |
string |
The memo that was submitted as part of the transaction (max 100 bytes) |
| transactionFee |
uint64 |
The actual transaction fee charged, not the original transactionFee value from TransactionBody |
| body |
oneof |
|
| |
| Field |
Type |
Description |
| contractCallResult |
ContractFunctionResult |
Record of the value returned by the smart contract function (if it completed and didn't fail) from ContractCallTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
| contractCreateResult |
ContractFunctionResult |
Record of the value returned by the smart contract constructor (if it completed and didn't fail) from ContractCreateTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| transferList |
TransferList |
All hbar transfers as a result of this transaction, such as fees, or transfers performed by the transaction, or by a smart contract it calls, or by the creation of threshold records that it triggers. |
| |
A list of accounts and amounts to transfer out of each account (negative) or into it (positive).
| Field |
Type |
Description |
| accountAmounts |
AccountAmount (repeated) |
Multiple list of AccountAmount pairs, each of which has an account and an amount to transfer into it (positive) or out of it (negative) |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
|
| tokenTransferLists |
TokenTransferList (repeated) |
All Token transfers as a result of this transaction |
| |
A list of token IDs and amounts representing the transferred out (negative) or into (positive) amounts, represented in the lowest denomination of the token
| Field |
Type |
Description |
| token |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| transfers |
AccountAmount (repeated) |
Applicable to tokens of type FUNGIBLE. Multiple list of AccountAmounts, each of which has an account and amount |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
| nftTransfers |
NftTransfer (repeated) |
Applicable to tokens of type NON_FUNGIBLE |
| |
| Field |
Type |
Description |
| fromAccount |
AccountID |
Sending account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| toAccount |
AccountID |
Receiving account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| serialNo |
uint64 |
Serial number that is being transferred |
|
|
| scheduleRef |
ScheduleID |
Reference to the scheduled transaction ID that this transaction record represent |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
|
|
| transactionGetFastRecord |
TransactionGetFastRecordResponse |
Get a record for a transaction (lasts 180 seconds) |
| |
Response when the client sends the node TransactionGetFastRecordQuery. If it created a new entity (account, file, or smart contract instance) then one of the three ID fields will be filled in with the ID of the new entity. Sometimes a single transaction will create more than one new entity, such as when a new contract instance is created, and this also creates the new account that it owned by that instance.
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| transactionRecord |
TransactionRecord |
The requested transaction records |
| |
| Field |
Type |
Description |
| receipt |
TransactionReceipt |
The status (reach consensus, or failed, or is unknown) and the ID of any new account/file/instance created. |
| |
| Field |
Type |
Description |
| status |
ResponseCodeEnum |
The consensus status of the transaction; is UNKNOWN if consensus has not been reached, or if the associated transaction did not have a valid payer signature |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| accountID |
AccountID |
In the receipt of a CryptoCreate, the id of the newly created account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| fileID |
FileID |
In the receipt of a FileCreate, the id of the newly created file |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
In the receipt of a ContractCreate, the id of the newly created contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| exchangeRate |
ExchangeRateSet |
The exchange rates in effect when the transaction reached consensus |
| |
Two sets of exchange rates
| Field |
Type |
Description |
| currentRate |
ExchangeRate |
Current exchange rate |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| nextRate |
ExchangeRate |
Next exchange rate which will take effect when current rate expires |
| |
| Field |
Type |
Description |
| hbarEquiv |
int32 |
Denominator in calculation of exchange rate between hbar and cents |
| centEquiv |
int32 |
Numerator in calculation of exchange rate between hbar and cents |
| expirationTime |
TimestampSeconds |
Expiration time in seconds for this exchange rate |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
|
| topicID |
TopicID |
In the receipt of a ConsensusCreateTopic, the id of the newly created topic. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicSequenceNumber |
uint64 |
In the receipt of a ConsensusSubmitMessage, the new sequence number of the topic that received the message |
| topicRunningHash |
bytes |
In the receipt of a ConsensusSubmitMessage, the new running hash of the topic that received the message. This 48-byte field is the output of a particular SHA-384 digest whose input data are determined by the value of the topicRunningHashVersion below. The bytes of each uint64 or uint32 are to be in Big-Endian format.
IF the topicRunningHashVersion is '0' or '1', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topic's shard (8 bytes) 3. The topic's realm (8 bytes) 4. The topic's number (8 bytes) 5. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 6. The number of nanoseconds since 5. before the ConsensusSubmitMessage reached consensus (4 bytes) 7. The topicSequenceNumber from above (8 bytes) 8. The message bytes from the ConsensusSubmitMessage (variable).
IF the topicRunningHashVersion is '2', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The topic's shard (8 bytes) 4. The topic's realm (8 bytes) 5. The topic's number (8 bytes) 6. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 7. The number of nanoseconds since 6. before the ConsensusSubmitMessage reached consensus (4 bytes) 8. The topicSequenceNumber from above (8 bytes) 9. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes)
Otherwise, IF the topicRunningHashVersion is '3', then the input data to the SHA-384 digest are, in order: --- 1. The previous running hash of the topic (48 bytes) 2. The topicRunningHashVersion below (8 bytes) 3. The payer account's shard (8 bytes) 4. The payer account's realm (8 bytes) 5. The payer account's number (8 bytes) 6. The topic's shard (8 bytes) 7. The topic's realm (8 bytes) 8. The topic's number (8 bytes) 9. The number of seconds since the epoch before the ConsensusSubmitMessage reached consensus (8 bytes) 10. The number of nanoseconds since 9. before the ConsensusSubmitMessage reached consensus (4 bytes) 11. The topicSequenceNumber from above (8 bytes) 12. The output of the SHA-384 digest of the message bytes from the consensusSubmitMessage (48 bytes) |
| topicRunningHashVersion |
uint64 |
In the receipt of a ConsensusSubmitMessage, the version of the SHA-384 digest used to update the running hash. |
| tokenID |
TokenID |
In the receipt of a CreateToken, the id of the newly created token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| newTotalSupply |
uint64 |
In the receipt of TokenMint, TokenWipe, TokenBurn, the current total supply of this token |
| scheduleID |
ScheduleID |
In the receipt of a ScheduleCreate, the id of the newly created Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| scheduledTransactionID |
TransactionID |
In the receipt of a ScheduleCreate or ScheduleSign that resolves to SUCCESS, the TransactionID that should be used to query for the receipt or record of the relevant scheduled transaction |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| serialNumber |
uint64 |
In the receipt of a TokenMintTransactionBody, the serial number of the newly created NFT |
|
| transactionHash |
bytes |
The hash of the Transaction that executed (not the hash of any Transaction that failed for having a duplicate TransactionID) |
| consensusTimestamp |
Timestamp |
The consensus timestamp (or null if didn't reach consensus yet) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| transactionID |
TransactionID |
The ID of the transaction this record represents |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| memo |
string |
The memo that was submitted as part of the transaction (max 100 bytes) |
| transactionFee |
uint64 |
The actual transaction fee charged, not the original transactionFee value from TransactionBody |
| body |
oneof |
|
| |
| Field |
Type |
Description |
| contractCallResult |
ContractFunctionResult |
Record of the value returned by the smart contract function (if it completed and didn't fail) from ContractCallTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
| contractCreateResult |
ContractFunctionResult |
Record of the value returned by the smart contract constructor (if it completed and didn't fail) from ContractCreateTransaction |
| |
The result returned by a call to a smart contract function. This is part of the response to a ContractCallLocal query, and is in the record for a ContractCall or ContractCreateInstance transaction. The ContractCreateInstance transaction record has the results of the call to the constructor.
| Field |
Type |
Description |
| contractID |
ContractID |
the smart contract instance whose function was called |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| contractCallResult |
bytes |
the result returned by the function |
| errorMessage |
string |
message In case there was an error during smart contract execution |
| bloom |
bytes |
bloom filter for record |
| gasUsed |
uint64 |
units of gas used to execute contract |
| logInfo |
ContractLoginfo (repeated) |
the log info for events returned by the function |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
address of a contract that emitted the event |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| bloom |
bytes |
bloom filter for a particular log |
| topic |
bytes (repeated) |
topics of a particular event |
| data |
bytes |
event data |
|
| createdContractIDs |
ContractID (repeated) |
the list of smart contracts that were created by the function call |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| transferList |
TransferList |
All hbar transfers as a result of this transaction, such as fees, or transfers performed by the transaction, or by a smart contract it calls, or by the creation of threshold records that it triggers. |
| |
A list of accounts and amounts to transfer out of each account (negative) or into it (positive).
| Field |
Type |
Description |
| accountAmounts |
AccountAmount (repeated) |
Multiple list of AccountAmount pairs, each of which has an account and an amount to transfer into it (positive) or out of it (negative) |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
|
| tokenTransferLists |
TokenTransferList (repeated) |
All Token transfers as a result of this transaction |
| |
A list of token IDs and amounts representing the transferred out (negative) or into (positive) amounts, represented in the lowest denomination of the token
| Field |
Type |
Description |
| token |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| transfers |
AccountAmount (repeated) |
Applicable to tokens of type FUNGIBLE. Multiple list of AccountAmounts, each of which has an account and amount |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
| nftTransfers |
NftTransfer (repeated) |
Applicable to tokens of type NON_FUNGIBLE |
| |
| Field |
Type |
Description |
| fromAccount |
AccountID |
Sending account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| toAccount |
AccountID |
Receiving account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| serialNo |
uint64 |
Serial number that is being transferred |
|
|
| scheduleRef |
ScheduleID |
Reference to the scheduled transaction ID that this transaction record represent |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
|
|
| consensusGetTopicInfo |
ConsensusGetTopicInfoResponse |
Parameters of and state of a consensus topic.. |
| |
Retrieve the parameters of and state of a consensus topic.
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither. |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| topicID |
TopicID |
Topic identifier. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| topicInfo |
ConsensusTopicInfo |
Current state of the topic |
| |
| Field |
Type |
Description |
| memo |
string |
The memo associated with the topic (UTF-8 encoding max 100 bytes) |
| runningHash |
bytes |
When a topic is created, its running hash is initialized to 48 bytes of binary zeros. For each submitted message, the topic's running hash is then updated to the output of a particular SHA-384 digest whose input data include the previous running hash.
See the TransactionReceipt.proto documentation for an exact description of the data included in the SHA-384 digest used for the update. |
| sequenceNumber |
uint64 |
Sequence number (starting at 1 for the first submitMessage) of messages on the topic. |
| expirationTime |
Timestamp |
Effective consensus timestamp at (and after) which submitMessage calls will no longer succeed on the topic and the topic will expire and after AUTORENEW_GRACE_PERIOD be automatically deleted. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| adminKey |
Key |
Access control for update/delete of the topic. Null if there is no key. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| submitKey |
Key |
Access control for ConsensusService.submitMessage. Null if there is no key. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| autoRenewPeriod |
Duration |
If an auto-renew account is specified, when the topic expires, its lifetime will be extended by up to this duration (depending on the solvency of the auto-renew account). If the auto-renew account has no funds at all, the topic will be deleted instead. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| autoRenewAccount |
AccountID |
The account, if any, to charge for automatic renewal of the topic's lifetime upon expiry. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
|
| networkGetVersionInfo |
NetworkGetVersionInfoResponse |
Semantic versions of Hedera Services and HAPI proto |
| |
Response when the client sends the node NetworkGetVersionInfoQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| hapiProtoVersion |
SemanticVersion |
The Hedera API (HAPI) protobuf version recognized by the responding node. |
| |
| Field |
Type |
Description |
| major |
int32 |
Increases with incompatible API changes |
| minor |
int32 |
Increases with backwards-compatible new functionality |
| patch |
int32 |
Increases with backwards-compatible bug fixes |
|
| hederaServicesVersion |
SemanticVersion |
The version of the Hedera Services software deployed on the responding node. |
| |
| Field |
Type |
Description |
| major |
int32 |
Increases with incompatible API changes |
| minor |
int32 |
Increases with backwards-compatible new functionality |
| patch |
int32 |
Increases with backwards-compatible bug fixes |
|
|
| tokenGetInfo |
TokenGetInfoResponse |
Get all information about a token |
| |
Response when the client sends the node TokenGetInfoQuery
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| tokenInfo |
TokenInfo |
The information requested about this token instance |
| |
The metadata about a Token instance
| Field |
Type |
Description |
| tokenType |
TokenType |
IWA compatibility. Specifies fungible or not |
| |
Fungible or Non-Fungible Token Base. Cannot be updated using admin key
| Enum Name |
Description |
| FUNGIBLE |
|
| NON_FUNGIBLE |
|
|
| tokenId |
TokenID |
ID of the token instance |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| name |
string |
The name of the token. It is a string of ASCII only characters |
| symbol |
string |
The symbol of the token. It is a UTF-8 capitalized alphabetical string |
| decimals |
uint32 |
The number of decimal places a token is divisible by. Always 0 for tokens of type NON_FUNGIBLE. This field can never be changed! |
| maxSupply |
uint64 |
For tokens of type FUNGIBLE - The Maximum number of fungible tokens that can be in circulation. For tokens of type NON_FUNGIBLE - the maximum number of NFTs (serial numbers) that can be in circulation. This field can never be changed! |
| totalSupply |
uint64 |
For tokens of type FUNGIBLE - the total supply of tokens that are currently in circulation. For tokens of type NON_FUNGIBLE - the number of NFTs created of this token instance |
| treasury |
AccountID |
The ID of the account which is set as Treasury |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| adminKey |
Key |
The key which can perform update/delete operations on the token. If empty, the token can be perceived as immutable (not being able to be updated/deleted) |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| kycKey |
Key |
The key which can grant or revoke KYC of an account for the token's transactions. If empty, KYC is not required, and KYC grant or revoke operations are not possible. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| freezeKey |
Key |
The key which can freeze or unfreeze an account for token transactions. If empty, freezing is not possible |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| wipeKey |
Key |
The key which can wipe token balance of an account. If empty, wipe is not possible |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| supplyKey |
Key |
The key which can change the supply of a token. The key is used to sign Token Mint/Burn operations |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| defaultFreezeStatus |
TokenFreezeStatus |
The default Freeze status (not applicable, frozen or unfrozen) of Hedera accounts relative to this token. FreezeNotApplicable is returned if Token Freeze Key is empty. Frozen is returned if Token Freeze Key is set and defaultFreeze is set to true. Unfrozen is returned if Token Freeze Key is set and defaultFreeze is set to false |
| |
Possible Freeze statuses returned on TokenGetInfoQuery or CryptoGetInfoResponse in TokenRelationship
| Enum Name |
Description |
| FreezeNotApplicable |
|
| Frozen |
|
| Unfrozen |
|
|
| defaultKycStatus |
TokenKycStatus |
The default KYC status (KycNotApplicable or Revoked) of Hedera accounts relative to this token. KycNotApplicable is returned if KYC key is not set, otherwise Revoked |
| |
Possible KYC statuses returned on TokenGetInfoQuery or CryptoGetInfoResponse in TokenRelationship
| Enum Name |
Description |
| KycNotApplicable |
|
| Granted |
|
| Revoked |
|
|
| deleted |
bool |
Specifies whether the token was deleted or not |
| autoRenewAccount |
AccountID |
An account which will be automatically charged to renew the token's expiration, at autoRenewPeriod interval |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| autoRenewPeriod |
Duration |
The interval at which the auto-renew account will be charged to extend the token's expiry |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| expiry |
Timestamp |
The epoch second at which the token will expire |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| memo |
string |
The memo associated with the token |
|
|
| scheduleGetInfo |
ScheduleGetInfoResponse |
Get all information about a schedule entity |
| |
| Field |
Type |
Description |
| header |
ResponseHeader |
Standard response from node to client, including the requested fields: cost, or state proof, or both, or neither |
| |
| Field |
Type |
Description |
| nodeTransactionPrecheckCode |
ResponseCodeEnum |
Result of fee transaction precheck, saying it passed, or why it failed |
| |
| Enum Name |
Description |
| OK |
The transaction passed the precheck validations. |
| INVALID_TRANSACTION |
For any error not handled by specific error codes listed below. |
| PAYER_ACCOUNT_NOT_FOUND |
Payer account does not exist. |
| INVALID_NODE_ACCOUNT |
Node Account provided does not match the node account of the node the transaction was submitted to. |
| TRANSACTION_EXPIRED |
Pre-Check error when TransactionValidStart + transactionValidDuration is less than current consensus time. |
| INVALID_TRANSACTION_START |
Transaction start time is greater than current consensus time |
| INVALID_TRANSACTION_DURATION |
valid transaction duration is a positive non zero number that does not exceed 120 seconds |
| INVALID_SIGNATURE |
The transaction signature is not valid |
| MEMO_TOO_LONG |
Transaction memo size exceeded 100 bytes |
| INSUFFICIENT_TX_FEE |
The fee provided in the transaction is insufficient for this type of transaction |
| INSUFFICIENT_PAYER_BALANCE |
The payer account has insufficient cryptocurrency to pay the transaction fee |
| DUPLICATE_TRANSACTION |
This transaction ID is a duplicate of one that was submitted to this node or reached consensus in the last 180 seconds (receipt period) |
| BUSY |
If API is throttled out |
| NOT_SUPPORTED |
The API is not currently supported |
| INVALID_FILE_ID |
The file id is invalid or does not exist |
| INVALID_ACCOUNT_ID |
The account id is invalid or does not exist |
| INVALID_CONTRACT_ID |
The contract id is invalid or does not exist |
| INVALID_TRANSACTION_ID |
Transaction id is not valid |
| RECEIPT_NOT_FOUND |
Receipt for given transaction id does not exist |
| RECORD_NOT_FOUND |
Record for given transaction id does not exist |
| INVALID_SOLIDITY_ID |
The solidity id is invalid or entity with this solidity id does not exist |
| UNKNOWN |
The responding node has submitted the transaction to the network. Its final status is still unknown. |
| SUCCESS |
The transaction succeeded |
| FAIL_INVALID |
There was a system error and the transaction failed because of invalid request parameters. |
| FAIL_FEE |
There was a system error while performing fee calculation, reserved for future. |
| FAIL_BALANCE |
There was a system error while performing balance checks, reserved for future. |
| KEY_REQUIRED |
Key not provided in the transaction body |
| BAD_ENCODING |
Unsupported algorithm/encoding used for keys in the transaction |
| INSUFFICIENT_ACCOUNT_BALANCE |
When the account balance is not sufficient for the transfer |
| INVALID_SOLIDITY_ADDRESS |
During an update transaction when the system is not able to find the Users Solidity address |
| INSUFFICIENT_GAS |
Not enough gas was supplied to execute transaction |
| CONTRACT_SIZE_LIMIT_EXCEEDED |
contract byte code size is over the limit |
| LOCAL_CALL_MODIFICATION_EXCEPTION |
local execution (query) is requested for a function which changes state |
| CONTRACT_REVERT_EXECUTED |
Contract REVERT OPCODE executed |
| CONTRACT_EXECUTION_EXCEPTION |
For any contract execution related error not handled by specific error codes listed above. |
| INVALID_RECEIVING_NODE_ACCOUNT |
In Query validation, account with +ve(amount) value should be Receiving node account, the receiver account should be only one account in the list |
| MISSING_QUERY_HEADER |
Header is missing in Query request |
| ACCOUNT_UPDATE_FAILED |
The update of the account failed |
| INVALID_KEY_ENCODING |
Provided key encoding was not supported by the system |
| NULL_SOLIDITY_ADDRESS |
null solidity address |
| CONTRACT_UPDATE_FAILED |
update of the contract failed |
| INVALID_QUERY_HEADER |
the query header is invalid |
| INVALID_FEE_SUBMITTED |
Invalid fee submitted |
| INVALID_PAYER_SIGNATURE |
Payer signature is invalid |
| KEY_NOT_PROVIDED |
The keys were not provided in the request. |
| INVALID_EXPIRATION_TIME |
Expiration time provided in the transaction was invalid. |
| NO_WACL_KEY |
WriteAccess Control Keys are not provided for the file |
| FILE_CONTENT_EMPTY |
The contents of file are provided as empty. |
| INVALID_ACCOUNT_AMOUNTS |
The crypto transfer credit and debit do not sum equal to 0 |
| EMPTY_TRANSACTION_BODY |
Transaction body provided is empty |
| INVALID_TRANSACTION_BODY |
Invalid transaction body provided |
| INVALID_SIGNATURE_TYPE_MISMATCHING_KEY |
the type of key (base ed25519 key, KeyList, or ThresholdKey) does not match the type of signature (base ed25519 signature, SignatureList, or ThresholdKeySignature) |
| INVALID_SIGNATURE_COUNT_MISMATCHING_KEY |
the number of key (KeyList, or ThresholdKey) does not match that of signature (SignatureList, or ThresholdKeySignature). e.g. if a keyList has 3 base keys, then the corresponding signatureList should also have 3 base signatures. |
| EMPTY_LIVE_HASH_BODY |
the livehash body is empty |
| EMPTY_LIVE_HASH |
the livehash data is missing |
| EMPTY_LIVE_HASH_KEYS |
the keys for a livehash are missing |
| INVALID_LIVE_HASH_SIZE |
the livehash data is not the output of a SHA-384 digest |
| EMPTY_QUERY_BODY |
the query body is empty |
| EMPTY_LIVE_HASH_QUERY |
the crypto livehash query is empty |
| LIVE_HASH_NOT_FOUND |
the livehash is not present |
| ACCOUNT_ID_DOES_NOT_EXIST |
the account id passed has not yet been created. |
| LIVE_HASH_ALREADY_EXISTS |
the livehash already exists for a given account |
| INVALID_FILE_WACL |
File WACL keys are invalid |
| SERIALIZATION_FAILED |
Serialization failure |
| TRANSACTION_OVERSIZE |
The size of the Transaction is greater than transactionMaxBytes |
| TRANSACTION_TOO_MANY_LAYERS |
The Transaction has more than 50 levels |
| CONTRACT_DELETED |
Contract is marked as deleted |
| PLATFORM_NOT_ACTIVE |
the platform node is either disconnected or lagging behind. |
| KEY_PREFIX_MISMATCH |
one public key matches more than one prefixes on the signature map |
| PLATFORM_TRANSACTION_NOT_CREATED |
transaction not created by platform due to large backlog |
| INVALID_RENEWAL_PERIOD |
auto renewal period is not a positive number of seconds |
| INVALID_PAYER_ACCOUNT_ID |
the response code when a smart contract id is passed for a crypto API request |
| ACCOUNT_DELETED |
the account has been marked as deleted |
| FILE_DELETED |
the file has been marked as deleted |
| ACCOUNT_REPEATED_IN_ACCOUNT_AMOUNTS |
same accounts repeated in the transfer account list |
| SETTING_NEGATIVE_ACCOUNT_BALANCE |
attempting to set negative balance value for crypto account |
| OBTAINER_REQUIRED |
when deleting smart contract that has crypto balance either transfer account or transfer smart contract is required |
| OBTAINER_SAME_CONTRACT_ID |
when deleting smart contract that has crypto balance you can not use the same contract id as transferContractId as the one being deleted |
| OBTAINER_DOES_NOT_EXIST |
transferAccountId or transferContractId specified for contract delete does not exist |
| MODIFYING_IMMUTABLE_CONTRACT |
attempting to modify (update or delete a immutable smart contract, i.e. one created without a admin key) |
| FILE_SYSTEM_EXCEPTION |
Unexpected exception thrown by file system functions |
| AUTORENEW_DURATION_NOT_IN_RANGE |
the duration is not a subset of [MINIMUM_AUTORENEW_DURATION,MAXIMUM_AUTORENEW_DURATION] |
| ERROR_DECODING_BYTESTRING |
Decoding the smart contract binary to a byte array failed. Check that the input is a valid hex string. |
| CONTRACT_FILE_EMPTY |
File to create a smart contract was of length zero |
| CONTRACT_BYTECODE_EMPTY |
Bytecode for smart contract is of length zero |
| INVALID_INITIAL_BALANCE |
Attempt to set negative initial balance |
| INVALID_RECEIVE_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative receive record threshold |
| INVALID_SEND_RECORD_THRESHOLD |
[Deprecated]. attempt to set negative send record threshold |
| ACCOUNT_IS_NOT_GENESIS_ACCOUNT |
Special Account Operations should be performed by only Genesis account, return this code if it is not Genesis Account |
| PAYER_ACCOUNT_UNAUTHORIZED |
The fee payer account doesn't have permission to submit such Transaction |
| INVALID_FREEZE_TRANSACTION_BODY |
FreezeTransactionBody is invalid |
| FREEZE_TRANSACTION_BODY_NOT_FOUND |
FreezeTransactionBody does not exist |
| TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of accounts (both from and to) allowed for crypto transfer list |
| RESULT_SIZE_LIMIT_EXCEEDED |
Smart contract result size greater than specified maxResultSize |
| NOT_SPECIAL_ACCOUNT |
The payer account is not a special account(account 0.0.55) |
| CONTRACT_NEGATIVE_GAS |
Negative gas was offered in smart contract call |
| CONTRACT_NEGATIVE_VALUE |
Negative value / initial balance was specified in a smart contract call / create |
| INVALID_FEE_FILE |
Failed to update fee file |
| INVALID_EXCHANGE_RATE_FILE |
Failed to update exchange rate file |
| INSUFFICIENT_LOCAL_CALL_GAS |
Payment tendered for contract local call cannot cover both the fee and the gas |
| ENTITY_NOT_ALLOWED_TO_DELETE |
Entities with Entity ID below 1000 are not allowed to be deleted |
| AUTHORIZATION_FAILED |
Violating one of these rules: 1) treasury account can update all entities below 0.0.1000, 2) account 0.0.50 can update all entities from 0.0.51 - 0.0.80, 3) Network Function Master Account A/c 0.0.50 - Update all Network Function accounts & perform all the Network Functions listed below, 4) Network Function Accounts: i) A/c 0.0.55 - Update Address Book files (0.0.101/102), ii) A/c 0.0.56 - Update Fee schedule (0.0.111), iii) A/c 0.0.57 - Update Exchange Rate (0.0.112). |
| FILE_UPLOADED_PROTO_INVALID |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FILE_UPLOADED_PROTO_NOT_SAVED_TO_DISK |
Fee Schedule Proto uploaded but not valid (append or update is required) |
| FEE_SCHEDULE_FILE_PART_UPLOADED |
Fee Schedule Proto File Part uploaded |
| EXCHANGE_RATE_CHANGE_LIMIT_EXCEEDED |
The change on Exchange Rate exceeds Exchange_Rate_Allowed_Percentage |
| MAX_CONTRACT_STORAGE_EXCEEDED |
Contract permanent storage exceeded the currently allowable limit |
| TRANSFER_ACCOUNT_SAME_AS_DELETE_ACCOUNT |
Transfer Account should not be same as Account to be deleted |
| TOTAL_LEDGER_BALANCE_INVALID |
|
| EXPIRATION_REDUCTION_NOT_ALLOWED |
The expiration date/time on a smart contract may not be reduced |
| MAX_GAS_LIMIT_EXCEEDED |
Gas exceeded currently allowable gas limit per transaction |
| MAX_FILE_SIZE_EXCEEDED |
File size exceeded the currently allowable limit |
| INVALID_TOPIC_ID |
The Topic ID specified is not in the system. |
| INVALID_ADMIN_KEY |
A provided admin key was invalid. |
| INVALID_SUBMIT_KEY |
A provided submit key was invalid. |
| UNAUTHORIZED |
An attempted operation was not authorized (ie - a deleteTopic for a topic with no adminKey). |
| INVALID_TOPIC_MESSAGE |
A ConsensusService message is empty. |
| INVALID_AUTORENEW_ACCOUNT |
The autoRenewAccount specified is not a valid, active account. |
| AUTORENEW_ACCOUNT_NOT_ALLOWED |
An adminKey was not specified on the topic, so there must not be an autoRenewAccount. |
| TOPIC_EXPIRED |
The topic has expired, was not automatically renewed, and is in a 7 day grace period before the topic will be deleted unrecoverably. This error response code will not be returned until autoRenew functionality is supported by HAPI. |
| INVALID_CHUNK_NUMBER |
chunk number must be from 1 to total (chunks) inclusive. |
| INVALID_CHUNK_TRANSACTION_ID |
For every chunk, the payer account that is part of initialTransactionID must match the Payer Account of this transaction. The entire initialTransactionID should match the transactionID of the first chunk, but this is not checked or enforced by Hedera except when the chunk number is 1. |
| ACCOUNT_FROZEN_FOR_TOKEN |
Account is frozen and cannot transact with the token |
| TOKENS_PER_ACCOUNT_LIMIT_EXCEEDED |
An involved account already has more than tokens.maxPerAccount associations with non-deleted tokens. |
| INVALID_TOKEN_ID |
The token is invalid or does not exist |
| INVALID_TOKEN_DECIMALS |
Invalid token decimals |
| INVALID_TOKEN_INITIAL_SUPPLY |
Invalid token initial supply |
| INVALID_TREASURY_ACCOUNT_FOR_TOKEN |
Treasury Account does not exist or is deleted |
| INVALID_TOKEN_SYMBOL |
Token Symbol is not UTF-8 capitalized alphabetical string |
| TOKEN_HAS_NO_FREEZE_KEY |
Freeze key is not set on token |
| TRANSFERS_NOT_ZERO_SUM_FOR_TOKEN |
Amounts in transfer list are not net zero |
| MISSING_TOKEN_SYMBOL |
A token symbol was not provided |
| TOKEN_SYMBOL_TOO_LONG |
The provided token symbol was too long |
| ACCOUNT_KYC_NOT_GRANTED_FOR_TOKEN |
KYC must be granted and account does not have KYC granted |
| TOKEN_HAS_NO_KYC_KEY |
KYC key is not set on token |
| INSUFFICIENT_TOKEN_BALANCE |
Token balance is not sufficient for the transaction |
| TOKEN_WAS_DELETED |
Token transactions cannot be executed on deleted token |
| TOKEN_HAS_NO_SUPPLY_KEY |
Supply key is not set on token |
| TOKEN_HAS_NO_WIPE_KEY |
Wipe key is not set on token |
| INVALID_TOKEN_MINT_AMOUNT |
The requested token mint amount would cause an invalid total supply |
| INVALID_TOKEN_BURN_AMOUNT |
The requested token burn amount would cause an invalid total supply |
| TOKEN_NOT_ASSOCIATED_TO_ACCOUNT |
A required token-account relationship is missing |
| CANNOT_WIPE_TOKEN_TREASURY_ACCOUNT |
The target of a wipe operation was the token treasury account |
| INVALID_KYC_KEY |
The provided KYC key was invalid. |
| INVALID_WIPE_KEY |
The provided wipe key was invalid. |
| INVALID_FREEZE_KEY |
The provided freeze key was invalid. |
| INVALID_SUPPLY_KEY |
The provided supply key was invalid. |
| MISSING_TOKEN_NAME |
Token Name is not provided |
| TOKEN_NAME_TOO_LONG |
Token Name is too long |
| INVALID_WIPING_AMOUNT |
The provided wipe amount must not be negative, zero or bigger than the token holder balance |
| TOKEN_IS_IMMUTABLE |
Token does not have Admin key set, thus update/delete transactions cannot be performed |
| TOKEN_ALREADY_ASSOCIATED_TO_ACCOUNT |
An associateToken operation specified a token already associated to the account |
| TRANSACTION_REQUIRES_ZERO_TOKEN_BALANCES |
An attempted operation is invalid until all token balances for the target account are zero |
| ACCOUNT_IS_TREASURY |
An attempted operation is invalid because the account is a treasury |
| TOKEN_ID_REPEATED_IN_TOKEN_LIST |
Same TokenIDs present in the token list |
| TOKEN_TRANSFER_LIST_SIZE_LIMIT_EXCEEDED |
Exceeded the number of token transfers (both from and to) allowed for token transfer list |
| EMPTY_TOKEN_TRANSFER_BODY |
TokenTransfersTransactionBody has no TokenTransferList |
| EMPTY_TOKEN_TRANSFER_ACCOUNT_AMOUNTS |
TokenTransfersTransactionBody has a TokenTransferList with no AccountAmounts |
| INVALID_SCHEDULE_ID |
The Scheduled entity does not exist; or has now expired, been deleted, or been executed |
| SCHEDULE_IS_IMMUTABLE |
The Scheduled entity cannot be modified. Admin key not set |
| INVALID_SCHEDULE_PAYER_ID |
The provided Scheduled Payer does not exist |
| INVALID_SCHEDULE_ACCOUNT_ID |
The Schedule Create Transaction TransactionID account does not exist |
| NO_NEW_VALID_SIGNATURES |
The provided sig map did not contain any new valid signatures from required signers of the scheduled transaction |
| UNRESOLVABLE_REQUIRED_SIGNERS |
The required signers for a scheduled transaction cannot be resolved, for example because they do not exist or have been deleted |
| SCHEDULED_TRANSACTION_NOT_IN_WHITELIST |
Only whitelisted transaction types may be scheduled |
| SOME_SIGNATURES_WERE_INVALID |
At least one of the signatures in the provided sig map did not represent a valid signature for any required signer |
| TRANSACTION_ID_FIELD_NOT_ALLOWED |
The scheduled field in the TransactionID may not be set to true |
| IDENTICAL_SCHEDULE_ALREADY_CREATED |
A schedule already exists with the same identifying fields of an attempted ScheduleCreate (that is, all fields other than scheduledPayerAccountID) |
| INVALID_ZERO_BYTE_IN_STRING |
A string field in the transaction has a UTF-8 encoding with the prohibited zero byte |
| SCHEDULE_ALREADY_DELETED |
A schedule being signed or deleted has already been deleted |
| SCHEDULE_ALREADY_EXECUTED |
A schedule being signed or deleted has already been executed |
| MESSAGE_SIZE_TOO_LARGE |
ConsensusSubmitMessage request's message size is larger than allowed. |
| OPERATION_REPEATED_IN_BUCKET_GROUPS |
An operation was assigned to more than one throttle group in a given bucket |
| BUCKET_CAPACITY_OVERFLOW |
The capacity needed to satisfy all opsPerSec groups in a bucket overflowed a signed 8-byte integral type |
| NODE_CAPACITY_NOT_SUFFICIENT_FOR_OPERATION |
Given the network size in the address book, the node-level capacity for an operation would never be enough to accept a single request; usually means a bucket burstPeriod should be increased |
| BUCKET_HAS_NO_THROTTLE_GROUPS |
A bucket was defined without any throttle groups |
| THROTTLE_GROUP_HAS_ZERO_OPS_PER_SEC |
A throttle group was granted zero opsPerSec |
| SUCCESS_BUT_MISSING_EXPECTED_OPERATION |
The throttle definitions file was updated, but some supported operations were not assigned a bucket |
| UNPARSEABLE_THROTTLE_DEFINITIONS |
The new contents for the throttle definitions system file were not valid protobuf |
| INVALID_THROTTLE_DEFINITIONS |
The new throttle definitions system file were invalid, and no more specific error could be divined |
|
| responseType |
ResponseType |
The requested response is repeated back here, for convenience |
| |
| Enum Name |
Description |
| ANSWER_ONLY |
Response returns answer |
| ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns both answer and state proof |
| COST_ANSWER |
Response returns the cost of answer |
| COST_ANSWER_STATE_PROOF |
(NOT YET SUPPORTED) Response returns the total cost of answer and state proof |
|
| cost |
uint64 |
The fee that would be charged to get the requested information (if a cost was requested). Note: This cost only includes the query fee and does not include the transfer fee(which is required to execute the transfer transaction to debit the payer account and credit the node account with query fee) |
| stateProof |
bytes |
The state proof for this information (if a state proof was requested, and is available) |
|
| scheduleInfo |
ScheduleInfo |
The information requested about this schedule instance |
| |
| Field |
Type |
Description |
| scheduleID |
ScheduleID |
The id of the schedule |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
| data |
oneof |
|
| |
| Field |
Type |
Description |
| deletion_time |
Timestamp |
If the schedule has been deleted, the consensus time when this occurred |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| execution_time |
Timestamp |
If the schedule has been executed, the consensus time when this occurred |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
|
| expirationTime |
Timestamp |
The time at which the schedule will expire |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| scheduledTransactionBody |
SchedulableTransactionBody |
The scheduled transaction |
| |
| Field |
Type |
Description |
| transactionFee |
uint64 |
The maximum transaction fee the client is willing to pay |
| memo |
string |
A memo to include the execution record; the UTF-8 encoding may be up to 100 bytes and must not include the zero byte |
| data |
oneof |
|
| |
| Field |
Type |
Description |
| contractCall |
ContractCallTransactionBody |
Calls a function of a contract instance |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
the contract instance to call, in the format used in transactions |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| gas |
int64 |
the maximum amount of gas to use for the call |
| amount |
int64 |
number of tinybars sent (the function must be payable if this is nonzero) |
| functionParameters |
bytes |
which function to call, and the parameters to pass to the function |
|
| contractCreateInstance |
ContractCreateTransactionBody |
Creates a contract instance |
| |
| Field |
Type |
Description |
| fileID |
FileID |
the file containing the smart contract byte code. A copy will be made and held by the contract instance, and have the same expiration time as the instance. The file is referenced one of two ways: |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| adminKey |
Key |
the state of the instance and its fields can be modified arbitrarily if this key signs a transaction to modify it. If this is null, then such modifications are not possible, and there is no administrator that can override the normal operation of this smart contract instance. Note that if it is created with no admin keys, then there is no administrator to authorize changing the admin keys, so there can never be any admin keys for that instance. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| gas |
int64 |
gas to run the constructor |
| initialBalance |
int64 |
initial number of tinybars to put into the cryptocurrency account associated with and owned by the smart contract |
| proxyAccountID |
AccountID |
ID of the account to which this account is proxy staked. If proxyAccountID is null, or is an invalid account, or is an account that isn't a node, then this account is automatically proxy staked to a node chosen by the network, but without earning payments. If the proxyAccountID account refuses to accept proxy staking , or if it is not currently running a node, then it will behave as if proxyAccountID was null. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| autoRenewPeriod |
Duration |
the instance will charge its account every this many seconds to renew for this long |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| constructorParameters |
bytes |
parameters to pass to the constructor |
| shardID |
ShardID |
shard in which to create this |
| |
| Field |
Type |
Description |
| shardNum |
int64 |
the shard number (nonnegative) |
|
| realmID |
RealmID |
realm in which to create this (leave this null to create a new realm) |
| |
The ID for a realm. Within a given shard, every realm has a unique ID. Each account, file, and contract instance belongs to exactly one realm.
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
|
| newRealmAdminKey |
Key |
if realmID is null, then this the admin key for the new realm that will be created |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| memo |
string |
the memo that was submitted as part of the contract (max 100 bytes) |
|
| contractUpdateInstance |
ContractUpdateTransactionBody |
Updates a contract |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
The id of the contract to be updated |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| expirationTime |
Timestamp |
The new expiry of the contract, no earlier than the current expiry (resolves to EXPIRATION_REDUCTION_NOT_ALLOWED otherwise) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| adminKey |
Key |
The new key to control updates to the contract |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| proxyAccountID |
AccountID |
(NOT YET IMPLEMENTED) The new id of the account to which the contract is proxy staked |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| autoRenewPeriod |
Duration |
(NOT YET IMPLEMENTED) The new interval at which the contract will pay to extend its expiry (by the same interval) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| fileID |
FileID |
The new id of the file asserted to contain the bytecode of the Solidity transaction that created this contract |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| memoField |
oneof |
|
| |
| Field |
Type |
Description |
| memo |
string |
[Deprecated] If set with a non-zero length, the new memo to be associated with the account (UTF-8 encoding max 100 bytes) |
| memoWrapper |
google.protobuf.StringValue |
If set, the new memo to be associated with the account (UTF-8 encoding max 100 bytes) |
|
|
| contractDeleteInstance |
ContractDeleteTransactionBody |
Delete contract and transfer remaining balance into specified account |
| |
| Field |
Type |
Description |
| contractID |
ContractID |
The id of the contract to be deleted |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| obtainers |
oneof |
|
| |
| Field |
Type |
Description |
| transferAccountID |
AccountID |
The id of an account to receive any remaining hBars from the deleted contract |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| transferContractID |
ContractID |
The id of a contract to receive any remaining hBars from the deleted contract |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| cryptoCreateAccount |
CryptoCreateTransactionBody |
Create a new cryptocurrency account |
| |
| Field |
Type |
Description |
| key |
Key |
The key that must sign each transfer out of the account. If receiverSigRequired is true, then it must also sign any transfer into the account. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| initialBalance |
uint64 |
The initial number of tinybars to put into the account |
| proxyAccountID |
AccountID |
ID of the account to which this account is proxy staked. If proxyAccountID is null, or is an invalid account, or is an account that isn't a node, then this account is automatically proxy staked to a node chosen by the network, but without earning payments. If the proxyAccountID account refuses to accept proxy staking , or if it is not currently running a node, then it will behave as if proxyAccountID was null. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| sendRecordThreshold |
uint64 |
[Deprecated]. The threshold amount (in tinybars) for which an account record is created for any send/withdraw transaction |
| receiveRecordThreshold |
uint64 |
[Deprecated]. The threshold amount (in tinybars) for which an account record is created for any receive/deposit transaction |
| receiverSigRequired |
bool |
If true, this account's key must sign any transaction depositing into this account (in addition to all withdrawals) |
| autoRenewPeriod |
Duration |
The account is charged to extend its expiration date every this many seconds. If it doesn't have enough balance, it extends as long as possible. If it is empty when it expires, then it is deleted. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| shardID |
ShardID |
The shard in which this account is created |
| |
| Field |
Type |
Description |
| shardNum |
int64 |
the shard number (nonnegative) |
|
| realmID |
RealmID |
The realm in which this account is created (leave this null to create a new realm) |
| |
The ID for a realm. Within a given shard, every realm has a unique ID. Each account, file, and contract instance belongs to exactly one realm.
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
|
| newRealmAdminKey |
Key |
If realmID is null, then this the admin key for the new realm that will be created |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| memo |
string |
The memo associated with the account (UTF-8 encoding max 100 bytes) |
|
| cryptoDelete |
CryptoDeleteTransactionBody |
Delete a cryptocurrency account (mark as deleted, and transfer hbars out) |
| |
| Field |
Type |
Description |
| transferAccountID |
AccountID |
The account ID which will receive all remaining hbars |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| deleteAccountID |
AccountID |
The account ID which should be deleted |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
| cryptoTransfer |
CryptoTransferTransactionBody |
Transfer amount between accounts |
| |
| Field |
Type |
Description |
| transfers |
TransferList |
|
| |
A list of accounts and amounts to transfer out of each account (negative) or into it (positive).
| Field |
Type |
Description |
| accountAmounts |
AccountAmount (repeated) |
Multiple list of AccountAmount pairs, each of which has an account and an amount to transfer into it (positive) or out of it (negative) |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
|
| tokenTransfers |
TokenTransferList (repeated) |
|
| |
A list of token IDs and amounts representing the transferred out (negative) or into (positive) amounts, represented in the lowest denomination of the token
| Field |
Type |
Description |
| token |
TokenID |
The ID of the token |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| transfers |
AccountAmount (repeated) |
Applicable to tokens of type FUNGIBLE. Multiple list of AccountAmounts, each of which has an account and amount |
| |
An account, and the amount that it sends or receives during a cryptocurrency or token transfer.
| Field |
Type |
Description |
| accountID |
AccountID |
The Account ID that sends/receives cryptocurrency or tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
sint64 |
The amount of tinybars (for Crypto transfers) or in the lowest denomination (for Token transfers) that the account sends(negative) or receives(positive) |
|
| nftTransfers |
NftTransfer (repeated) |
Applicable to tokens of type NON_FUNGIBLE |
| |
| Field |
Type |
Description |
| fromAccount |
AccountID |
Sending account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| toAccount |
AccountID |
Receiving account |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| serialNo |
uint64 |
Serial number that is being transferred |
|
|
|
| cryptoUpdateAccount |
CryptoUpdateTransactionBody |
Modify information such as the expiration date for an account |
| |
| Field |
Type |
Description |
| accountIDToUpdate |
AccountID |
The account ID which is being updated in this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| key |
Key |
The new key |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| proxyAccountID |
AccountID |
ID of the account to which this account is proxy staked. If proxyAccountID is null, or is an invalid account, or is an account that isn't a node, then this account is automatically proxy staked to a node chosen by the network, but without earning payments. If the proxyAccountID account refuses to accept proxy staking , or if it is not currently running a node, then it will behave as if proxyAccountID was null. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| proxyFraction |
int32 |
[Deprecated]. Payments earned from proxy staking are shared between the node and this account, with proxyFraction / 10000 going to this account |
| sendRecordThresholdField |
oneof |
|
| |
| Field |
Type |
Description |
| sendRecordThreshold |
uint64 |
[Deprecated]. The new threshold amount (in tinybars) for which an account record is created for any send/withdraw transaction |
| sendRecordThresholdWrapper |
google.protobuf.UInt64Value |
[Deprecated]. The new threshold amount (in tinybars) for which an account record is created for any send/withdraw transaction |
|
| receiveRecordThresholdField |
oneof |
|
| |
| Field |
Type |
Description |
| receiveRecordThreshold |
uint64 |
[Deprecated]. The new threshold amount (in tinybars) for which an account record is created for any receive/deposit transaction. |
| receiveRecordThresholdWrapper |
google.protobuf.UInt64Value |
[Deprecated]. The new threshold amount (in tinybars) for which an account record is created for any receive/deposit transaction. |
|
| autoRenewPeriod |
Duration |
The duration in which it will automatically extend the expiration period. If it doesn't have enough balance, it extends as long as possible. If it is empty when it expires, then it is deleted. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| expirationTime |
Timestamp |
The new expiration time to extend to (ignored if equal to or before the current one) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| receiverSigRequiredField |
oneof |
|
| |
| Field |
Type |
Description |
| receiverSigRequired |
bool |
[Deprecated] Do NOT use this field to set a false value because the server cannot distinguish from the default value. Use receiverSigRequiredWrapper field for this purpose. |
| receiverSigRequiredWrapper |
google.protobuf.BoolValue |
If true, this account's key must sign any transaction depositing into this account (in addition to all withdrawals) |
|
| memo |
google.protobuf.StringValue |
If set, the new memo to be associated with the account (UTF-8 encoding max 100 bytes) |
|
| fileAppend |
FileAppendTransactionBody |
Add bytes to the end of the contents of a file |
| |
| Field |
Type |
Description |
| fileID |
FileID |
The file to which the bytes will be appended |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contents |
bytes |
The bytes that will be appended to the end of the specified file |
|
| fileCreate |
FileCreateTransactionBody |
Create a new file |
| |
| Field |
Type |
Description |
| expirationTime |
Timestamp |
The time at which this file should expire (unless FileUpdateTransaction is used before then to extend its life) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| keys |
KeyList |
All these keys must sign to create or modify the file. Any one of them can sign to delete the file. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
Self Reference
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
Self Reference
|
|
|
|
| contents |
bytes |
The bytes that are the contents of the file |
| shardID |
ShardID |
Shard in which this file is created |
| |
| Field |
Type |
Description |
| shardNum |
int64 |
the shard number (nonnegative) |
|
| realmID |
RealmID |
The Realm in which to the file is created (leave this null to create a new realm) |
| |
The ID for a realm. Within a given shard, every realm has a unique ID. Each account, file, and contract instance belongs to exactly one realm.
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
|
| newRealmAdminKey |
Key |
If realmID is null, then this the admin key for the new realm that will be created |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| memo |
string |
The memo associated with the file (UTF-8 encoding max 100 bytes) |
|
| fileDelete |
FileDeleteTransactionBody |
Delete a file (remove contents and mark as deleted until it expires) |
| |
| Field |
Type |
Description |
| fileID |
FileID |
The file to delete. It will be marked as deleted until it expires. Then it will disappear. |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
|
| fileUpdate |
FileUpdateTransactionBody |
Modify information such as the expiration date for a file |
| |
| Field |
Type |
Description |
| fileID |
FileID |
The ID of the file to update |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| expirationTime |
Timestamp |
The new expiry time (ignored if not later than the current expiry) |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| keys |
KeyList |
The new list of keys that can modify or delete the file |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
Self Reference
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
Self Reference
|
|
|
|
| contents |
bytes |
The new contents that should overwrite the file's current contents |
| memo |
google.protobuf.StringValue |
If set, the new memo to be associated with the file (UTF-8 encoding max 100 bytes) |
|
| systemDelete |
SystemDeleteTransactionBody |
Hedera administrative deletion of a file or smart contract |
| |
| Field |
Type |
Description |
| id |
oneof |
|
| |
| Field |
Type |
Description |
| fileID |
FileID |
The file ID of the file to delete, in the format used in transactions |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
The contract ID instance to delete, in the format used in transactions |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
| expirationTime |
TimestampSeconds |
The timestamp in seconds at which the "deleted" file should truly be permanently deleted |
| |
An exact date and time, with a resolution of one second (no nanoseconds).
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
|
|
| systemUndelete |
SystemUndeleteTransactionBody |
To undelete an entity deleted by SystemDelete |
| |
| Field |
Type |
Description |
| id |
oneof |
|
| |
| Field |
Type |
Description |
| fileID |
FileID |
The file ID to undelete, in the format used in transactions |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| contractID |
ContractID |
The contract ID instance to undelete, in the format used in transactions |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
|
|
| freeze |
FreezeTransactionBody |
Freeze the nodes |
| |
| Field |
Type |
Description |
| startHour |
int32 |
The start hour (in UTC time), a value between 0 and 23 |
| startMin |
int32 |
The start minute (in UTC time), a value between 0 and 59 |
| endHour |
int32 |
The end hour (in UTC time), a value between 0 and 23 |
| endMin |
int32 |
The end minute (in UTC time), a value between 0 and 59 |
| updateFile |
FileID |
The ID of the file needs to be updated during a freeze transaction |
| |
The ID for a file
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| fileNum |
int64 |
A nonnegative File number unique within its realm |
|
| fileHash |
bytes |
The hash value of the file, used to verify file content before performing freeze and update |
|
| consensusCreateTopic |
ConsensusCreateTopicTransactionBody |
Creates a topic |
| |
| Field |
Type |
Description |
| memo |
string |
Short publicly visible memo about the topic. No guarantee of uniqueness. |
| adminKey |
Key |
Access control for updateTopic/deleteTopic. Anyone can increase the topic's expirationTime via ConsensusService.updateTopic(), regardless of the adminKey. If no adminKey is specified, updateTopic may only be used to extend the topic's expirationTime, and deleteTopic is disallowed. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| submitKey |
Key |
Access control for submitMessage. If unspecified, no access control is performed on ConsensusService.submitMessage (all submissions are allowed). |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| autoRenewPeriod |
Duration |
The initial lifetime of the topic and the amount of time to attempt to extend the topic's lifetime by automatically at the topic's expirationTime, if the autoRenewAccount is configured (once autoRenew functionality is supported by HAPI). Limited to MIN_AUTORENEW_PERIOD and MAX_AUTORENEW_PERIOD value by server-side configuration. Required. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| autoRenewAccount |
AccountID |
Optional account to be used at the topic's expirationTime to extend the life of the topic (once autoRenew functionality is supported by HAPI). The topic lifetime will be extended up to a maximum of the autoRenewPeriod or however long the topic can be extended using all funds on the account (whichever is the smaller duration/amount and if any extension is possible with the account's funds). If specified, there must be an adminKey and the autoRenewAccount must sign this transaction. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
| consensusUpdateTopic |
ConsensusUpdateTopicTransactionBody |
Updates a topic |
| |
| Field |
Type |
Description |
| topicID |
TopicID |
|
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| memo |
google.protobuf.StringValue |
If set, the new memo to be associated with the topic (UTF-8 encoding max 100 bytes) |
| expirationTime |
Timestamp |
Effective consensus timestamp at (and after) which all consensus transactions and queries will fail. The expirationTime may be no longer than MAX_AUTORENEW_PERIOD (8000001 seconds) from the consensus timestamp of this transaction. On topics with no adminKey, extending the expirationTime is the only updateTopic option allowed on the topic. If unspecified, no change. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| adminKey |
Key |
Access control for update/delete of the topic. If unspecified, no change. If empty keyList - the adminKey is cleared. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| submitKey |
Key |
Access control for ConsensusService.submitMessage. If unspecified, no change. If empty keyList - the submitKey is cleared. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| autoRenewPeriod |
Duration |
The amount of time to extend the topic's lifetime automatically at expirationTime if the autoRenewAccount is configured and has funds (once autoRenew functionality is supported by HAPI). Limited to between MIN_AUTORENEW_PERIOD (6999999 seconds) and MAX_AUTORENEW_PERIOD (8000001 seconds) by servers-side configuration (which may change). If unspecified, no change. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| autoRenewAccount |
AccountID |
Optional account to be used at the topic's expirationTime to extend the life of the topic. Once autoRenew functionality is supported by HAPI, the topic lifetime will be extended up to a maximum of the autoRenewPeriod or however long the topic can be extended using all funds on the account (whichever is the smaller duration/amount). If specified as the default value (0.0.0), the autoRenewAccount will be removed. If unspecified, no change. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
| consensusDeleteTopic |
ConsensusDeleteTopicTransactionBody |
Deletes a topic |
| |
| Field |
Type |
Description |
| topicID |
TopicID |
Topic identifier. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
|
| consensusSubmitMessage |
ConsensusSubmitMessageTransactionBody |
Submits message to a topic |
| |
| Field |
Type |
Description |
| topicID |
TopicID |
Topic to submit message to. |
| |
Unique identifier for a topic (used by the consensus service)
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| topicNum |
int64 |
Unique topic identifier within a realm (nonnegative). |
|
| message |
bytes |
Message to be submitted. Max size of the Transaction (including signatures) is 6KiB. |
| chunkInfo |
ConsensusMessageChunkInfo |
Optional information of the current chunk in a fragmented message. |
| |
| Field |
Type |
Description |
| initialTransactionID |
TransactionID |
TransactionID of the first chunk, gets copied to every subsequent chunk in a fragmented message. |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
| total |
int32 |
The total number of chunks in the message. |
| number |
int32 |
The sequence number (from 1 to total) of the current chunk in the message. |
|
|
| tokenCreation |
TokenCreateTransactionBody |
Creates a token instance |
| |
| Field |
Type |
Description |
| tokenType |
TokenType |
IWA compatibility. Specifies fungible or not |
| |
Fungible or Non-Fungible Token Base. Cannot be updated using admin key
| Enum Name |
Description |
| FUNGIBLE |
|
| NON_FUNGIBLE |
|
|
| name |
string |
The publicly visible name of the token, limited to a UTF-8 encoding of length tokens.maxSymbolUtf8Bytes. |
| symbol |
string |
The publicly visible token symbol, limited to a UTF-8 encoding of length tokens.maxTokenNameUtf8Bytes. |
| decimals |
uint32 |
For tokens of type FUNGIBLE - the number of decimal places a token is divisible by. For tokens of type NON_FUNGIBLE - value must be 0. |
| maxSupply |
uint64 |
IWA Compatibility. For tokens of type FUNGIBLE - the maximum number of tokens that can be in circulation. For tokens of type NON_FUNGIBLE - the maximum number of NFTs (serial numbers) that can be minted. This field can never be changed! |
| initialSupply |
uint64 |
Specifies the initial supply of tokens to be put in circulation. The initial supply is sent to the Treasury Account. The supply is in the lowest denomination possible. In the case for NON_FUNGIBLE Type the value must be 0 |
| treasury |
AccountID |
The account which will act as a treasury for the token. This account will receive the specified initial supply or the newly minted NFTs in the case for NON_FUNGIBLE Type |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| adminKey |
Key |
The key which can perform update/delete operations on the token. If empty, the token can be perceived as immutable (not being able to be updated/deleted) |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| kycKey |
Key |
The key which can grant or revoke KYC of an account for the token's transactions. If empty, KYC is not required, and KYC grant or revoke operations are not possible. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| freezeKey |
Key |
The key which can sign to freeze or unfreeze an account for token transactions. If empty, freezing is not possible |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| wipeKey |
Key |
The key which can wipe the token balance of an account. If empty, wipe is not possible |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| supplyKey |
Key |
The key which can change the supply of a token. The key is used to sign Token Mint/Burn operations |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| freezeDefault |
bool |
The default Freeze status (frozen or unfrozen) of Hedera accounts relative to this token. If true, an account must be unfrozen before it can receive the token |
| expiry |
Timestamp |
The epoch second at which the token should expire; if an auto-renew account and period are specified, this is coerced to the current epoch second plus the autoRenewPeriod |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| autoRenewAccount |
AccountID |
An account which will be automatically charged to renew the token's expiration, at autoRenewPeriod interval |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| autoRenewPeriod |
Duration |
The interval at which the auto-renew account will be charged to extend the token's expiry |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| memo |
string |
The memo associated with the token (UTF-8 encoding max 100 bytes) |
|
| tokenFreeze |
TokenFreezeAccountTransactionBody |
Freezes account not to be able to transact with a token |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token for which this account will be frozen. If token does not exist, transaction results in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| account |
AccountID |
The account to be frozen |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
| tokenUnfreeze |
TokenUnfreezeAccountTransactionBody |
Unfreezes account for a token |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token for which this account will be unfrozen. If token does not exist, transaction results in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| account |
AccountID |
The account to be unfrozen |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
| tokenGrantKyc |
TokenGrantKycTransactionBody |
Grants KYC to an account for a token |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token for which this account will be granted KYC. If token does not exist, transaction results in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| account |
AccountID |
The account to be KYCed |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
| tokenRevokeKyc |
TokenRevokeKycTransactionBody |
Revokes KYC of an account for a token |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token for which this account will get his KYC revoked. If token does not exist, transaction results in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| account |
AccountID |
The account to be KYC Revoked |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
|
| tokenDeletion |
TokenDeleteTransactionBody |
Deletes a token instance |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token to be deleted. If invalid token is specified, transaction will result in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
|
| tokenUpdate |
TokenUpdateTransactionBody |
Updates a token instance |
| |
| Field |
Type |
Description |
| token |
TokenID |
The Token to be updated |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| symbol |
string |
The new publicly visible Token symbol, limited to a UTF-8 encoding of length tokens.maxTokenNameUtf8Bytes. |
| name |
string |
The new publicly visible name of the Token, limited to a UTF-8 encoding of length tokens.maxSymbolUtf8Bytes. |
| treasury |
AccountID |
The new Treasury account of the Token. If the provided treasury account is not existing or deleted, the response will be INVALID_TREASURY_ACCOUNT_FOR_TOKEN. If successful, the Token balance held in the previous Treasury Account is transferred to the new one. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| adminKey |
Key |
The new admin key of the Token. If Token is immutable, transaction will resolve to TOKEN_IS_IMMUTABlE. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| kycKey |
Key |
The new KYC key of the Token. If Token does not have currently a KYC key, transaction will resolve to TOKEN_HAS_NO_KYC_KEY. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| freezeKey |
Key |
The new Freeze key of the Token. If the Token does not have currently a Freeze key, transaction will resolve to TOKEN_HAS_NO_FREEZE_KEY. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| wipeKey |
Key |
The new Wipe key of the Token. If the Token does not have currently a Wipe key, transaction will resolve to TOKEN_HAS_NO_WIPE_KEY. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| supplyKey |
Key |
The new Supply key of the Token. If the Token does not have currently a Supply key, transaction will resolve to TOKEN_HAS_NO_SUPPLY_KEY. |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| autoRenewAccount |
AccountID |
The new account which will be automatically charged to renew the token's expiration, at autoRenewPeriod interval. |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| autoRenewPeriod |
Duration |
The new interval at which the auto-renew account will be charged to extend the token's expiry. |
| |
| Field |
Type |
Description |
| seconds |
int64 |
The number of seconds |
|
| expiry |
Timestamp |
The new expiry time of the token. Expiry can be updated even if admin key is not set. If the provided expiry is earlier than the current token expiry, transaction wil resolve to INVALID_EXPIRATION_TIME |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| memo |
google.protobuf.StringValue |
If set, the new memo to be associated with the token (UTF-8 encoding max 100 bytes) |
|
| tokenMint |
TokenMintTransactionBody |
Mints new tokens to a token's treasury account |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token for which to mint tokens. If token does not exist, transaction results in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| amount |
uint64 |
The amount to mint to the Treasury Account. Amount must be a positive non-zero number represented in the lowest denomination of the token. The new supply must be lower than 2^63. |
| amountOrMemo |
AmountOrMemo |
|
| |
| Field |
Type |
Description |
|
oneof |
|
| |
| Field |
Type |
Description |
| amount |
uint64 |
Applicable to tokens of type FUNGIBLE. The amount to mint to the Treasury Account. Amount must be a positive non-zero number represented in the lowest denomination of the token. The new supply must be lower than 2^63 |
| memo |
string |
Applicable to tokens of type NON_FUNGIBLE. The metadata for the given NFT instance that is being created |
|
|
|
| tokenBurn |
TokenBurnTransactionBody |
Burns tokens from a token's treasury account |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token for which to burn tokens. If token does not exist, transaction results in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| amount |
uint64 |
The amount to burn from the Treasury Account. Amount must be a positive non-zero number, not bigger than the token balance of the treasury account (0; balance], represented in the lowest denomination. |
| amountOrSerialNumbers |
AmountOrSerialNumbers |
Defines the amount or list of serial numbers to be burned |
| |
| Field |
Type |
Description |
| amountOrSerialNumbers |
oneof |
|
| |
| Field |
Type |
Description |
| amount |
uint64 |
Applicable to tokens of type FUNGIBLE. Amount of fungible tokens to burn/wipe |
| serialNumbers |
SerialNumbers |
Applicable to tokens of type NON_FUNGIBLE. The list of serial numbers to be burned/wiped. |
| |
| Field |
Type |
Description |
| serialNumbers |
uint64 (repeated) |
|
|
|
|
|
| tokenWipe |
TokenWipeAccountTransactionBody |
Wipes amount of tokens from an account |
| |
| Field |
Type |
Description |
| token |
TokenID |
The token for which the account will be wiped. If token does not exist, transaction results in INVALID_TOKEN_ID |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
| account |
AccountID |
The account to be wiped |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| amount |
uint64 |
The amount of tokens to wipe from the specified account. Amount must be a positive non-zero number in the lowest denomination possible, not bigger than the token balance of the account (0; balance] |
| amountOrSerialNumbers |
AmountOrSerialNumbers |
Defines the amount or list of serial numbers to be wiped |
| |
| Field |
Type |
Description |
| amountOrSerialNumbers |
oneof |
|
| |
| Field |
Type |
Description |
| amount |
uint64 |
Applicable to tokens of type FUNGIBLE. Amount of fungible tokens to burn/wipe |
| serialNumbers |
SerialNumbers |
Applicable to tokens of type NON_FUNGIBLE. The list of serial numbers to be burned/wiped. |
| |
| Field |
Type |
Description |
| serialNumbers |
uint64 (repeated) |
|
|
|
|
|
| tokenAssociate |
TokenAssociateTransactionBody |
Associate tokens to an account |
| |
| Field |
Type |
Description |
| account |
AccountID |
The account to be associated with the provided tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| tokens |
TokenID (repeated) |
The tokens to be associated with the provided account. In the case of NON_FUNGIBLE Type, once an account is associated, it can hold any number of NFTs (serial numbers) of that token type. |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
|
| tokenDissociate |
TokenDissociateTransactionBody |
Dissociate tokens from an account |
| |
| Field |
Type |
Description |
| account |
AccountID |
The account to be dissociated with the provided tokens |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| tokens |
TokenID (repeated) |
The tokens to be dissociated with the provided account |
| |
Unique identifier for a token
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| tokenNum |
int64 |
A nonnegative token number |
|
|
| scheduleDelete |
ScheduleDeleteTransactionBody |
Marks a schedule in the network's action queue as deleted, preventing it from executing |
| |
| Field |
Type |
Description |
| scheduleID |
ScheduleID |
The ID of the Scheduled Entity |
| |
Unique identifier for a Schedule
| Field |
Type |
Description |
| shardNum |
int64 |
A nonnegative shard number |
| realmNum |
int64 |
A nonnegative realm number |
| scheduleNum |
int64 |
A nonnegative schedule number |
|
|
|
|
| memo |
string |
The publicly visible memo of the schedule |
| adminKey |
Key |
The key used to delete the schedule from state |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
Self Reference
|
|
|
|
| signers |
KeyList |
The Ed25519 keys the network deems to have signed the scheduled transaction |
| |
A list of keys
| Field |
Type |
Description |
| keys |
Key (repeated) |
list of keys |
| |
A Key can be a public key from one of the three supported systems (ed25519, RSA-3072, ECDSA with p384). Or, it can be the ID of a smart contract instance, which is authorized to act as if it had a key. If an account has an ed25519 key associated with it, then the corresponding private key must sign any transaction to transfer cryptocurrency out of it. And similarly for RSA and ECDSA. A Key can be a smart contract ID, which means that smart contract is to authorize operations as if it had signed with a key that it owned. The smart contract doesn't actually have a key, and doesn't actually sign a transaction. But it's as if a virtual transaction were created, and the smart contract signed it with a private key. A key can be a "threshold key", which means a list of M keys, any N of which must sign in order for the threshold signature to be considered valid. The keys within a threshold signature may themselves be threshold signatures, to allow complex signature requirements. A Key can be a list of keys. Their use is dependent on context. For example, a Hedera file is created with a list of keys, where all of them must sign a transaction to create or modify the file, but only one of them is needed to sign a transaction to delete the file. So it's a single list that sometimes acts as a 1-of-M threshold key, and sometimes acts as an M-of-M threshold key. A Key can contain a ThresholdKey or KeyList, which in turn contain a Key, so this mutual recursion would allow nesting arbitrarily deep. A ThresholdKey which contains a list of primitive keys (e.g., ed25519) has 3 levels: ThresholdKey -> KeyList -> Key. A KeyList which contains several primitive keys (e.g., ed25519) has 2 levels: KeyList -> Key. A Key with 2 levels of nested ThresholdKeys has 7 levels: Key -> ThresholdKey -> KeyList -> Key -> ThresholdKey -> KeyList -> Key. Each Key should not have more than 46 levels, which implies 15 levels of nested ThresholdKeys. Only ed25519 primitive keys are currently supported.
| Field |
Type |
Description |
| key |
oneof |
|
| |
| Field |
Type |
Description |
| contractID |
ContractID |
smart contract instance that is authorized as if it had signed with a key |
| |
The ID for a smart contract instance
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| contractNum |
int64 |
A nonnegative number unique within its realm |
|
| ed25519 |
bytes |
ed25519 public key bytes |
| RSA_3072 |
bytes |
RSA-3072 public key bytes |
| ECDSA_384 |
bytes |
ECDSA with the p-384 curve public key bytes |
| thresholdKey |
ThresholdKey |
a threshold N followed by a list of M keys, any N of which are required to form a valid signature |
| |
A set of public keys that are used together to form a threshold signature. If the threshold is N and there are M keys, then this is an N of M threshold signature. If an account is associated with ThresholdKeys, then a transaction to move cryptocurrency out of it must be signed by a list of M signatures, where at most M-N of them are blank, and the other at least N of them are valid signatures corresponding to at least N of the public keys listed here.
| Field |
Type |
Description |
| threshold |
uint32 |
A valid signature set must have at least this many signatures |
| keys |
KeyList |
List of all the keys that can sign |
| |
Self Reference
|
|
| keyList |
KeyList |
A list of Keys of the Key type. |
| |
Self Reference
|
|
|
|
| creatorAccountID |
AccountID |
The id of the account that created the schedule |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| payerAccountID |
AccountID |
The id of the account responsible for the service fee of the scheduled transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduledTransactionID |
TransactionID |
The transaction id that will be used in the record of the scheduled transaction (if it executes) |
| |
| Field |
Type |
Description |
| transactionValidStart |
Timestamp |
The transaction is invalid if consensusTimestamp < transactionID.transactionStartValid |
| |
| Field |
Type |
Description |
| seconds |
int64 |
Number of complete seconds since the start of the epoch |
| nanos |
int32 |
Number of nanoseconds since the start of the last second |
|
| accountID |
AccountID |
The Account ID that paid for this transaction |
| |
The ID for an a cryptocurrency account
| Field |
Type |
Description |
| shardNum |
int64 |
The shard number (nonnegative) |
| realmNum |
int64 |
The realm number (nonnegative) |
| accountNum |
int64 |
A nonnegative account number unique within its realm |
|
| scheduled |
bool |
Whether the Transaction is of type Scheduled or no |
|
|
|
|